mirror of
https://github.com/CHN-beta/nixos.git
synced 2024-10-22 21:38:44 +08:00
packages.vasp.intel: use openmpi
This commit is contained in:
parent
d8d6592253
commit
a9722a6205
@ -970,11 +970,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1724925520,
|
||||
"narHash": "sha256-MfvD4Ed4wCTG1V+h3rUN9j9csEi+2tgpRwhGAV4MFqw=",
|
||||
"lastModified": 1727148179,
|
||||
"narHash": "sha256-XITWIyKQ6owAcFn1Tq53By5kOYqLt/fhAw4y+rPTZfU=",
|
||||
"owner": "CHN-beta",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8c66b7335f2f4ab354e41d828b74d851c64c4b85",
|
||||
"rev": "4cc8c8166956210ccf8c731bb2aec3d95648180e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -8,19 +8,12 @@ inputs:
|
||||
# TODO: add more options to correctly configure VASP
|
||||
config = let inherit (inputs.config.nixos.packages) vasp; in inputs.lib.mkIf (vasp != null)
|
||||
{
|
||||
nixos.packages.packages._packages =
|
||||
(with inputs.pkgs.localPackages.vasp;
|
||||
[
|
||||
(intel.override
|
||||
{
|
||||
integratedWithSlurm = inputs.config.nixos.services.slurm.enable;
|
||||
slurm = inputs.config.services.slurm.package;
|
||||
})
|
||||
vtstscripts
|
||||
])
|
||||
++ (with inputs.pkgs.localPackages; [ py4vasp vaspkit ])
|
||||
nixos.packages.packages._packages = with inputs.pkgs;
|
||||
(
|
||||
[ localPackages.vasp.intel localPackages.vasp.vtstscripts localPackages.py4vasp localPackages.vaspkit ]
|
||||
++ (inputs.lib.optional
|
||||
(let inherit (inputs.config.nixos.system.nixpkgs) cuda; in cuda.enable && cuda.capabilities != null)
|
||||
inputs.pkgs.localPackages.vasp.nvidia);
|
||||
localPackages.vasp.nvidia)
|
||||
);
|
||||
};
|
||||
}
|
||||
|
@ -55,18 +55,21 @@ inputs: rec
|
||||
{
|
||||
inherit vtst src;
|
||||
inherit (inputs.pkgs.intelPackages_2023) stdenv;
|
||||
mpi = inputs.pkgs.intelPackages_2023.intel-mpi;
|
||||
hdf5 = hdf5-oneapi;
|
||||
mpi = inputs.pkgs.openmpi.override
|
||||
{
|
||||
inherit (inputs.pkgs.intelPackages_2023) stdenv;
|
||||
enableSubstitute = false;
|
||||
};
|
||||
hdf5 = inputs.pkgs.hdf5.override
|
||||
{
|
||||
inherit (inputs.pkgs.intelPackages_2023) stdenv;
|
||||
cppSupport = false;
|
||||
fortranSupport = true;
|
||||
enableShared = false;
|
||||
enableStatic = true;
|
||||
};
|
||||
};
|
||||
hdf5-nvhpc = inputs.pkgs.callPackage ./vasp/hdf5-nvhpc { inherit lmod nvhpc; inherit (inputs.pkgs.hdf5) src; };
|
||||
hdf5-oneapi = inputs.pkgs.hdf5.override
|
||||
{
|
||||
inherit (inputs.pkgs.intelPackages_2023) stdenv;
|
||||
cppSupport = false;
|
||||
fortranSupport = true;
|
||||
enableShared = false;
|
||||
enableStatic = true;
|
||||
};
|
||||
vtst = (inputs.pkgs.callPackage ./vasp/vtst.nix {});
|
||||
vtstscripts = inputs.pkgs.callPackage ./vasp/vtstscripts.nix {};
|
||||
};
|
||||
|
@ -1,7 +1,6 @@
|
||||
{
|
||||
stdenv, src, writeShellScriptBin, lib,
|
||||
rsync, which, wannier90, hdf5, vtst, mpi, mkl, libfabric,
|
||||
integratedWithSlurm ? false, slurm
|
||||
rsync, which, wannier90, hdf5, vtst, mpi, mkl
|
||||
}:
|
||||
let vasp = stdenv.mkDerivation
|
||||
{
|
||||
@ -35,17 +34,12 @@ let vasp = stdenv.mkDerivation
|
||||
|
||||
# vasp directly include headers under ${mkl}/include/fftw
|
||||
MKLROOT = mkl;
|
||||
|
||||
# tell openmpi use ifx
|
||||
OMPI_F90 = "ifx";
|
||||
};
|
||||
in writeShellScriptBin "vasp-intel"
|
||||
''
|
||||
# not sure why mpi could not find libfabric.so
|
||||
export LD_LIBRARY_PATH=${libfabric}/lib''${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
|
||||
|
||||
# intel mpi need this to talk with slurm
|
||||
${lib.optionalString integratedWithSlurm "export I_MPI_PMI_LIBRARY=${slurm}/lib/libpmi2.so"}
|
||||
|
||||
# add vasp and intel mpi in PATH
|
||||
export PATH=${vasp}/bin:${mpi}/bin''${PATH:+:$PATH}
|
||||
|
||||
exec "$@"
|
||||
''
|
||||
|
@ -12,8 +12,8 @@ CPP_OPTIONS = -DHOST=\"LinuxIFC\" \
|
||||
|
||||
CPP = fpp -f_com=no -free -w0 $*$(FUFFIX) $*$(SUFFIX) $(CPP_OPTIONS)
|
||||
|
||||
FC = mpiifx -qopenmp
|
||||
FCL = mpiifx
|
||||
FC = mpif90 -qopenmp
|
||||
FCL = mpif90
|
||||
|
||||
FREE = -free -names lowercase
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user