about summary refs log tree commit diff
path: root/pkgs/development/compilers
diff options
context:
space:
mode:
authorAustin Seipp <aseipp@pobox.com>2019-04-15 00:02:35 -0500
committerAustin Seipp <aseipp@pobox.com>2019-04-15 00:17:54 -0500
commit3b6c07c398c3da29d98dd2710703aaa27f1b0b1a (patch)
treed444dc79633f151cf8de8925af25780bd908a9bc /pkgs/development/compilers
parenta5add1e623669a7bf775f3f33b366b1264ce7ae1 (diff)
downloadnixlib-3b6c07c398c3da29d98dd2710703aaa27f1b0b1a.tar
nixlib-3b6c07c398c3da29d98dd2710703aaa27f1b0b1a.tar.gz
nixlib-3b6c07c398c3da29d98dd2710703aaa27f1b0b1a.tar.bz2
nixlib-3b6c07c398c3da29d98dd2710703aaa27f1b0b1a.tar.lz
nixlib-3b6c07c398c3da29d98dd2710703aaa27f1b0b1a.tar.xz
nixlib-3b6c07c398c3da29d98dd2710703aaa27f1b0b1a.tar.zst
nixlib-3b6c07c398c3da29d98dd2710703aaa27f1b0b1a.zip
nextpnr: enable OpenMP support (for Eigen)
The new HEaP analytic placer for NextPNR uses Eigen for underlying
placement algorithms. Enabling -DUSE_OPENMP passes -fopenmp onto the
compiler, which Eigen picks up automatically with no extra work.

This should result in placer speedups for large designs, e.g. on ECP5
85k chips.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r--pkgs/development/compilers/nextpnr/default.nix1
1 files changed, 1 insertions, 0 deletions
diff --git a/pkgs/development/compilers/nextpnr/default.nix b/pkgs/development/compilers/nextpnr/default.nix
index 5f0bb45933be..e2aa5375835e 100644
--- a/pkgs/development/compilers/nextpnr/default.nix
+++ b/pkgs/development/compilers/nextpnr/default.nix
@@ -46,6 +46,7 @@ stdenv.mkDerivation rec {
     [ "-DARCH=generic;ice40;ecp5"
       "-DICEBOX_ROOT=${icestorm}/share/icebox"
       "-DTRELLIS_ROOT=${trellisRoot}/trellis"
+      "-DUSE_OPENMP=ON"
     ] ++ (stdenv.lib.optional (!enableGui) "-DBUILD_GUI=OFF");
 
   # Fix the version number. This is a bit stupid (and fragile) in practice