Merge pull request #312164 from markuskowa/fix-closure-cp2k
cp2k, pythonPackages.gpaw: improve closure size
This commit is contained in:
commit
7785bc313f
|
@ -64,6 +64,12 @@ stdenv.mkDerivation rec {
|
|||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Remove the build command line from the source.
|
||||
# This avoids dependencies to .dev inputs
|
||||
./remove-compiler-options.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ python3 which openssh makeWrapper pkg-config ]
|
||||
++ lib.optional (gpuBackend == "cuda") cudaPackages.cuda_nvcc;
|
||||
|
||||
|
@ -75,6 +81,7 @@ stdenv.mkDerivation rec {
|
|||
libvori
|
||||
libxc
|
||||
libxsmm
|
||||
mpi
|
||||
spglib
|
||||
scalapack
|
||||
blas
|
||||
|
@ -101,7 +108,7 @@ stdenv.mkDerivation rec {
|
|||
]
|
||||
;
|
||||
|
||||
propagatedBuildInputs = [ mpi ];
|
||||
propagatedBuildInputs = [ (lib.getBin mpi) ];
|
||||
propagatedUserEnvPkgs = [ mpi ];
|
||||
|
||||
makeFlags = [
|
||||
|
@ -149,14 +156,16 @@ stdenv.mkDerivation rec {
|
|||
-D__PLUMED2 -D__HDF5 -D__GSL -D__SIRIUS -D__LIBVDWXC -D__SPFFT -D__SPLA \
|
||||
${lib.strings.optionalString (gpuBackend == "cuda") "-D__OFFLOAD_CUDA -D__ACC -D__DBCSR_ACC -D__NO_OFFLOAD_PW"} \
|
||||
${lib.strings.optionalString (gpuBackend == "rocm") "-D__OFFLOAD_HIP -D__DBCSR_ACC -D__NO_OFFLOAD_PW"}
|
||||
CFLAGS = -fopenmp -I${lib.getDev hdf5-fortran}/include -I${lib.getDev gsl}/include
|
||||
CFLAGS = -fopenmp
|
||||
FCFLAGS = \$(DFLAGS) -O2 -ffree-form -ffree-line-length-none \
|
||||
-ftree-vectorize -funroll-loops -msse2 \
|
||||
-std=f2008 \
|
||||
-fopenmp -ftree-vectorize -funroll-loops \
|
||||
-I${lib.getDev libint}/include ${lib.optionalString enableElpa "$(pkg-config --variable=fcflags elpa)"} \
|
||||
${lib.optionalString enableElpa "$(pkg-config --variable=fcflags elpa)"} \
|
||||
-I${lib.getDev libint}/include \
|
||||
-I${lib.getDev sirius}/include/sirius \
|
||||
-I${lib.getDev libxc}/include -I${lib.getDev libxsmm}/include \
|
||||
-I${lib.getDev libxc}/include \
|
||||
-I${lib.getDev libxsmm}/include \
|
||||
-I${lib.getDev hdf5-fortran}/include \
|
||||
-fallow-argument-mismatch
|
||||
LIBS = -lfftw3 -lfftw3_threads \
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
diff --git a/src/start/cp2k.F b/src/start/cp2k.F
|
||||
index f69146ea3..a195f0620 100644
|
||||
--- a/src/start/cp2k.F
|
||||
+++ b/src/start/cp2k.F
|
||||
@@ -58,8 +58,7 @@ PROGRAM cp2k
|
||||
USE input_cp2k, ONLY: create_cp2k_root_section
|
||||
USE input_section_types, ONLY: section_release,&
|
||||
section_type
|
||||
- USE iso_fortran_env, ONLY: compiler_options,&
|
||||
- compiler_version
|
||||
+ USE iso_fortran_env, ONLY: compiler_version
|
||||
USE kinds, ONLY: default_path_length
|
||||
USE machine, ONLY: default_output_unit
|
||||
#include "../base/base_uses.f90"
|
||||
@@ -70,7 +69,6 @@ PROGRAM cp2k
|
||||
arg_att, command
|
||||
CHARACTER(LEN=default_path_length), &
|
||||
DIMENSION(:, :), ALLOCATABLE :: initial_variables, initial_variables_tmp
|
||||
- CHARACTER(LEN=:), ALLOCATABLE :: compiler_options_string
|
||||
INTEGER :: output_unit, l, i, var_set_sep, inp_var_idx
|
||||
INTEGER :: ierr, i_arg
|
||||
LOGICAL :: check, usage, echo_input, command_line_error
|
||||
@@ -328,14 +326,6 @@ PROGRAM cp2k
|
||||
WRITE (output_unit, "(T2,A)") cp2k_version, &
|
||||
"Source code revision "//TRIM(compile_revision), &
|
||||
TRIM(cp2k_flags())
|
||||
- compiler_options_string = compiler_options()
|
||||
- WRITE (output_unit, "(T2,A,A)") "compiler: ", compiler_version()
|
||||
- WRITE (output_unit, "(T2,A)") "compiler options:"
|
||||
- DO i = 0, (LEN(compiler_options_string) - 1)/68
|
||||
- WRITE (output_unit, "(T4,A)") &
|
||||
- compiler_options_string(i*68 + 1:MIN(LEN(compiler_options_string), (i + 1)*68))
|
||||
- END DO
|
||||
- DEALLOCATE (compiler_options_string)
|
||||
END IF
|
||||
END IF
|
||||
|
|
@ -47,6 +47,9 @@ stdenv.mkDerivation rec {
|
|||
hash = "sha256-DYie6ufgZNqg7ohlIed3Bo+sqLKHOxWXTwAkea2guLk=";
|
||||
};
|
||||
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
gfortran
|
||||
|
@ -60,6 +63,7 @@ stdenv.mkDerivation rec {
|
|||
libxc
|
||||
hdf5
|
||||
umpire
|
||||
mpi
|
||||
spglib
|
||||
spfft
|
||||
spla
|
||||
|
@ -80,7 +84,7 @@ stdenv.mkDerivation rec {
|
|||
] ++ lib.optional stdenv.isDarwin llvmPackages.openmp
|
||||
;
|
||||
|
||||
propagatedBuildInputs = [ mpi ];
|
||||
propagatedBuildInputs = [ (lib.getBin mpi) ];
|
||||
|
||||
CXXFLAGS = [
|
||||
# GCC 13: error: 'uintptr_t' in namespace 'std' does not name a type
|
||||
|
|
|
@ -38,6 +38,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [
|
||||
fftw
|
||||
mpi
|
||||
] ++ lib.optionals (gpuBackend == "cuda") [
|
||||
cudaPackages.libcufft
|
||||
cudaPackages.cuda_cudart
|
||||
|
@ -48,8 +49,6 @@ stdenv.mkDerivation rec {
|
|||
] ++ lib.optional stdenv.isDarwin llvmPackages.openmp
|
||||
;
|
||||
|
||||
propagatedBuildInputs = [ mpi ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DSPFFT_OMP=ON"
|
||||
"-DSPFFT_MPI=ON"
|
||||
|
|
|
@ -31,6 +31,8 @@ stdenv.mkDerivation rec {
|
|||
hash = "sha256-71QpwTsRogH+6Bik9DKwezl9SqwoLxQt4SZ7zw5X6DE=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/gpu_util/gpu_blas_api.hpp \
|
||||
--replace '#include <rocblas.h>' '#include <rocblas/rocblas.h>'
|
||||
|
@ -43,6 +45,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [
|
||||
blas
|
||||
mpi
|
||||
]
|
||||
++ lib.optional (gpuBackend == "cuda") cudaPackages.cudatoolkit
|
||||
++ lib.optionals (gpuBackend == "rocm") [
|
||||
|
@ -51,8 +54,6 @@ stdenv.mkDerivation rec {
|
|||
] ++ lib.optional stdenv.isDarwin llvmPackages.openmp
|
||||
;
|
||||
|
||||
propagatedBuildInputs = [ mpi ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DSPLA_OMP=ON"
|
||||
"-DSPLA_FORTRAN=ON"
|
||||
|
@ -65,10 +66,15 @@ stdenv.mkDerivation rec {
|
|||
++ lib.optional (gpuBackend == "rocm") [ "-DSPLA_GPU_BACKEND=ROCM" ]
|
||||
;
|
||||
|
||||
preFixup = ''
|
||||
substituteInPlace $out/lib/cmake/SPLA/SPLASharedTargets-release.cmake \
|
||||
--replace-fail "\''${_IMPORT_PREFIX}" "$out"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Specialized Parallel Linear Algebra, providing distributed GEMM functionality for specific matrix distributions with optional GPU acceleration";
|
||||
homepage = "https://github.com/eth-cscs/spla";
|
||||
license = licenses.bsd3;
|
||||
maintainers = [ maintainers.sheepforce ];#
|
||||
maintainers = [ maintainers.sheepforce ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
nativeBuildInputs = [ autoreconfHook gfortran ];
|
||||
|
||||
propagatedBuildInputs = [ mpi fftwMpi ];
|
||||
buildInputs = [ mpi fftwMpi ];
|
||||
|
||||
preConfigure = ''
|
||||
mkdir build && cd build
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
, blas
|
||||
, lapack
|
||||
, mpi
|
||||
, fftw
|
||||
, scalapack
|
||||
, libxc
|
||||
, libvdwxc
|
||||
|
@ -89,9 +90,9 @@ in buildPythonPackage rec {
|
|||
# execute `rsh` as a side-effect.
|
||||
nativeBuildInputs = [ which inetutils ];
|
||||
|
||||
buildInputs = [ blas scalapack libxc libvdwxc ];
|
||||
buildInputs = [ blas scalapack libxc libvdwxc fftw ];
|
||||
|
||||
propagatedBuildInputs = [ ase scipy numpy mpi pyyaml ];
|
||||
propagatedBuildInputs = [ ase scipy numpy (lib.getBin mpi) pyyaml ];
|
||||
|
||||
patches = [ ./SetupPath.patch ];
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user