Unverified Commit 7785bc31 authored by Markus Kowalewski's avatar Markus Kowalewski Committed by GitHub
Browse files

Merge pull request #312164 from markuskowa/fix-closure-cp2k

cp2k, pythonPackages.gpaw: improve closure size
parents d8bf2820 e3df5db4
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -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 \
+37 −0
Original line number Diff line number Diff line
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
 
+5 −1
Original line number Diff line number Diff line
@@ -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
+1 −2
Original line number Diff line number Diff line
@@ -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"
+9 −3
Original line number Diff line number Diff line
@@ -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 ];
  };
}
Loading