[CP2K:7333] Re: CP2K compilation error - Error: Missing actual argument for argument 'mpi_comm_all' at (1)

Alfio Lazzaro alfio.... at gmail.com
Sat Jan 16 13:29:03 UTC 2016


Hi Ben,
it seems that ELPA problem is fixed. Now you are missing BLAS library 
linking, indeed I don't see the library in LIBS inside your arch file.
I think your directory is

/usr/local/blas-3.5.0/lib

and the library should be -lrefblas

Alfio


Il giorno venerdì 15 gennaio 2016 17:23:08 UTC+1, Ben Fotovich ha scritto:
>
> Hey Michael,
>
> When I modify cp2k-3.0/arch/Linux-x86-64-gfortran.popt and change 
> -D__ELPA2 to -D__ELPA3, below is what happens when I try to compile:
>
> /usr/local/openmpi-1.8.4/bin/mpif90 -D__FFTW3 -D__LIBINT -D__ELPA3 
> -D__LIBINT_MAX_AM=7 -D__LIBDERIV_MAX_AM1=6 -D__MAX_CONTR=4 -D__parallel 
> -D__SCALAPACK -O2 -ffast-math -ffree-form -ffree-line-length-none 
> -ftree-vectorize -funroll-loops -mtune=native 
> -I/usr/local/fftw-3.3.4/include -I/usr/local/libint-1.1.4/include 
> -I/usr/local/elpa-2015.11.001/include/elpa/modules 
> -D__COMPILE_ARCH="\"Linux-x86-64-gfortran\"" -D__COMPILE_DATE="\"Fri Jan 15 
> 09:11:28 MST 2016\"" -D__COMPILE_HOST="\"du-hpc\"" 
> -D__COMPILE_REVISION="\"svn:16458\"" 
> -D__DATA_DIR="\"/root/c/cp2k-3.0/data\"" -L -L/lib64 
> -L/root/c/cp2k-3.0/lib/Linux-x86-64-gfortran/popt -o 
> /root/c/cp2k-3.0/exe/Linux-x86-64-gfortran/dbcsr_performance_driver.popt 
> dbcsr_performance_driver.o  -ldbcsr -ldbcsrarnoldi -ldbcsrvec -ldbcsrmm 
> -ldbcsrops -ldbcsrbblock -ldbcsrbdist -ldbcsrbase -ldbcsrdata -ldbcsrerr 
> -lcp2kmpiwrap -lmicsmm -lclsmm -lcp2kacc -lcp2kaccmic -lcp2kaccopencl 
> -lcp2kbase /usr/local/scalapack-2.0.2-gcc/lib/libscalapack-gnu.a 
> /usr/local/fftw-3.3.4/lib/libfftw3.a /usr/local/libint-1.1.4/lib/libderiv.a 
> /usr/local/libint-1.1.4/lib/libint.a 
> -L/usr/local/elpa-2015.11.001/lib/libelpa_openmp.a
> /root/c/cp2k-3.0/lib/Linux-x86-64-gfortran/popt/libdbcsr.a(dbcsr_test_methods.o): 
> In function `__dbcsr_test_methods_MOD_dbcsr_make_random_matrix':
> dbcsr_test_methods.F:(.text+0x1198): undefined reference to `dlarnv_'
> /root/c/cp2k-3.0/lib/Linux-x86-64-gfortran/popt/libdbcsrmm.a(dbcsr_mm_hostdrv.o): 
> In function `__dbcsr_mm_hostdrv_MOD_blas_process_mm_stack_s':
> dbcsr_mm_hostdrv.F:(.text+0x98): undefined reference to `sgemm_'
> dbcsr_mm_hostdrv.F:(.text+0x109): undefined reference to `sgemm_'
> dbcsr_mm_hostdrv.F:(.text+0x175): undefined reference to `sgemm_'
> dbcsr_mm_hostdrv.F:(.text+0x1cb): undefined reference to `sgemm_'
> /root/c/cp2k-3.0/lib/Linux-x86-64-gfortran/popt/libdbcsrmm.a(dbcsr_mm_hostdrv.o): 
> In function `__dbcsr_mm_hostdrv_MOD_blas_process_mm_stack_d':
> dbcsr_mm_hostdrv.F:(.text+0x288): undefined reference to `dgemm_'
> dbcsr_mm_hostdrv.F:(.text+0x2f9): undefined reference to `dgemm_'
> dbcsr_mm_hostdrv.F:(.text+0x365): undefined reference to `dgemm_'
> dbcsr_mm_hostdrv.F:(.text+0x3bb): undefined reference to `dgemm_'
> /root/c/cp2k-3.0/lib/Linux-x86-64-gfortran/popt/libdbcsrmm.a(dbcsr_mm_hostdrv.o): 
> In function `__dbcsr_mm_hostdrv_MOD_blas_process_mm_stack_c':
> dbcsr_mm_hostdrv.F:(.text+0x478): undefined reference to `cgemm_'
> dbcsr_mm_hostdrv.F:(.text+0x4e9): undefined reference to `cgemm_'
> dbcsr_mm_hostdrv.F:(.text+0x555): undefined reference to `cgemm_'
> dbcsr_mm_hostdrv.F:(.text+0x5ab): undefined reference to `cgemm_'
> /root/c/cp2k-3.0/lib/Linux-x86-64-gfortran/popt/libdbcsrmm.a(dbcsr_mm_hostdrv.o): 
> In function `__dbcsr_mm_hostdrv_MOD_blas_process_mm_stack_z':
> dbcsr_mm_hostdrv.F:(.text+0x678): undefined reference to `zgemm_'
> dbcsr_mm_hostdrv.F:(.text+0x6ff): undefined reference to `zgemm_'
> dbcsr_mm_hostdrv.F:(.text+0x77e): undefined reference to `zgemm_'
> dbcsr_mm_hostdrv.F:(.text+0x7e6): undefined reference to `zgemm_'
> /root/c/cp2k-3.0/lib/Linux-x86-64-gfortran/popt/libdbcsrops.a(dbcsr_blas_operations.o): 
> In function `__dbcsr_blas_operations_MOD_dbcsr_lapack_larnv':
> dbcsr_blas_operations.F:(.text+0x227): undefined reference to `slarnv_'
> dbcsr_blas_operations.F:(.text+0x301): undefined reference to `dlarnv_'
> /root/c/cp2k-3.0/lib/Linux-x86-64-gfortran/popt/libdbcsrops.a(dbcsr_operations.o): 
> In function `__dbcsr_operations_MOD_dbcsr_trace_ab_d':
> dbcsr_operations.F:(.text+0x13b7): undefined reference to `ddot_'
> dbcsr_operations.F:(.text+0x1445): undefined reference to `cdotu_'
> dbcsr_operations.F:(.text+0x1833): undefined reference to `zdotu_'
> dbcsr_operations.F:(.text+0x18e3): undefined reference to `sdot_'
> /root/c/cp2k-3.0/lib/Linux-x86-64-gfortran/popt/libdbcsrops.a(dbcsr_operations.o): 
> In function `__dbcsr_operations_MOD_dbcsr_trace_ab_c':
> dbcsr_operations.F:(.text+0x2726): undefined reference to `ddot_'
> dbcsr_operations.F:(.text+0x27d0): undefined reference to `ddot_'
> dbcsr_operations.F:(.text+0x28ae): undefined reference to `cdotu_'
> dbcsr_operations.F:(.text+0x2985): undefined reference to `cdotu_'
> dbcsr_operations.F:(.text+0x2dbd): undefined reference to `zdotu_'
> dbcsr_operations.F:(.text+0x2e70): undefined reference to `zdotu_'
> dbcsr_operations.F:(.text+0x2f56): undefined reference to `sdot_'
> dbcsr_operations.F:(.text+0x300f): undefined reference to `sdot_'
> /root/c/cp2k-3.0/lib/Linux-x86-64-gfortran/popt/libdbcsrops.a(dbcsr_operations.o): 
> In function `__dbcsr_operations_MOD_dbcsr_trace_ab_s':
> dbcsr_operations.F:(.text+0x4590): undefined reference to `ddot_'
> dbcsr_operations.F:(.text+0x4624): undefined reference to `cdotu_'
> dbcsr_operations.F:(.text+0x4a42): undefined reference to `zdotu_'
> dbcsr_operations.F:(.text+0x4afd): undefined reference to `sdot_'
> /root/c/cp2k-3.0/lib/Linux-x86-64-gfortran/popt/libdbcsrops.a(dbcsr_operations.o): 
> In function `__dbcsr_operations_MOD_dbcsr_trace_ab_z':
> dbcsr_operations.F:(.text+0x5fb5): undefined reference to `ddot_'
> dbcsr_operations.F:(.text+0x606b): undefined reference to `ddot_'
> dbcsr_operations.F:(.text+0x6136): undefined reference to `cdotu_'
> dbcsr_operations.F:(.text+0x6577): undefined reference to `zdotu_'
> dbcsr_operations.F:(.text+0x663e): undefined reference to `zdotu_'
> dbcsr_operations.F:(.text+0x670d): undefined reference to `sdot_'
> dbcsr_operations.F:(.text+0x67cf): undefined reference to `sdot_'
> /root/c/cp2k-3.0/lib/Linux-x86-64-gfortran/popt/libdbcsrops.a(dbcsr_operations.o): 
> In function `__dbcsr_operations_MOD_dbcsr_filter_anytype':
> dbcsr_operations.F:(.text+0xd57f): undefined reference to `dznrm2_'
> dbcsr_operations.F:(.text+0xd6bf): undefined reference to `sdot_'
> dbcsr_operations.F:(.text+0xd79c): undefined reference to `ddot_'
> dbcsr_operations.F:(.text+0xd89f): undefined reference to `scnrm2_'
> /root/c/cp2k-3.0/lib/Linux-x86-64-gfortran/popt/libdbcsrops.a(dbcsr_operations.o): 
> In function `__dbcsr_operations_MOD_dbcsr_init_random':
> dbcsr_operations.F:(.text+0x11955): undefined reference to `dlarnv_'
> dbcsr_operations.F:(.text+0x11a7f): undefined reference to `dcopy_'
> dbcsr_operations.F:(.text+0x11b3c): undefined reference to `dcopy_'
> /root/c/cp2k-3.0/lib/Linux-x86-64-gfortran/popt/libdbcsrbblock.a(dbcsr_block_access.o): 
> In function `__dbcsr_block_access_MOD_dbcsr_put_block_c':
> dbcsr_block_access.F:(.text+0x6de): undefined reference to `ccopy_'
> dbcsr_block_access.F:(.text+0x1563): undefined reference to `caxpy_'
> dbcsr_block_access.F:(.text+0x1c4c): undefined reference to `caxpy_'
> dbcsr_block_access.F:(.text+0x1d23): undefined reference to `ccopy_'
> /root/c/cp2k-3.0/lib/Linux-x86-64-gfortran/popt/libdbcsrbblock.a(dbcsr_block_access.o): 
> In function `__dbcsr_block_access_MOD_dbcsr_put_block_s':
> dbcsr_block_access.F:(.text+0x3025): undefined reference to `scopy_'
> dbcsr_block_access.F:(.text+0x3cf0): undefined reference to `saxpy_'
> dbcsr_block_access.F:(.text+0x431d): undefined reference to `saxpy_'
> dbcsr_block_access.F:(.text+0x43f9): undefined reference to `scopy_'
> /root/c/cp2k-3.0/lib/Linux-x86-64-gfortran/popt/libdbcsrbblock.a(dbcsr_block_access.o): 
> In function `__dbcsr_block_access_MOD_dbcsr_put_block_z':
> dbcsr_block_access.F:(.text+0x5661): undefined reference to `zcopy_'
> dbcsr_block_access.F:(.text+0x63e6): undefined reference to `zaxpy_'
> dbcsr_block_access.F:(.text+0x6ab7): undefined reference to `zaxpy_'
> dbcsr_block_access.F:(.text+0x6b8f): undefined reference to `zcopy_'
> /root/c/cp2k-3.0/lib/Linux-x86-64-gfortran/popt/libdbcsrbblock.a(dbcsr_block_access.o): 
> In function `__dbcsr_block_access_MOD_dbcsr_put_block_d':
> dbcsr_block_access.F:(.text+0x7d6a): undefined reference to `dcopy_'
> dbcsr_block_access.F:(.text+0x88d8): undefined reference to `daxpy_'
> dbcsr_block_access.F:(.text+0x8edd): undefined reference to `daxpy_'
> dbcsr_block_access.F:(.text+0x8fb9): undefined reference to `dcopy_'
> /usr/local/scalapack-2.0.2-gcc/lib/libscalapack-gnu.a(clarnv.o): In 
> function `clarnv_':
> clarnv.f:(.text+0x7a): undefined reference to `slaruv_'
> clarnv.f:(.text+0x169): undefined reference to `slaruv_'
> /usr/local/scalapack-2.0.2-gcc/lib/libscalapack-gnu.a(zlarnv.o): In 
> function `zlarnv_':
> zlarnv.f:(.text+0x7f): undefined reference to `dlaruv_'
> zlarnv.f:(.text+0x165): undefined reference to `dlaruv_'
> collect2: error: ld returned 1 exit status
> make[3]: *** 
> [/root/c/cp2k-3.0/exe/Linux-x86-64-gfortran/dbcsr_performance_driver.popt] 
> Error 1
>
> Thanks!
>
> Ben
>
> On Friday, January 15, 2016 at 2:52:05 AM UTC-7, Michael wrote:
>>
>> Hi, 
>> g 
>> On Thu, Jan 14, 2016 at 02:14:24PM -0800, Ben Fotovich wrote: 
>> > I spoke too soon! 
>> > 
>> > Looking in elpa/src/elpa_c_interface.F90 
>> > Line 117 shows: 
>> > 
>> > function solve_elpa2_evp_real_wrapper(na, nev, ncols, a, lda, ev, q, 
>> ldq, 
>> > nblk,    & 
>> >                                   mpi_comm_rows, mpi_comm_cols, 
>> > mpi_comm_all, & 
>> >                                   THIS_REAL_ELPA_KERNEL_API, 
>> > useQR)           & 
>> >                                   result(success) 
>> > bind(C,name="elpa_solve_evp_real_2stage") 
>> > 
>> > and line 141 shows: 
>> > 
>> > successFortran = solve_evp_real_2stage(na, nev, a, lda, ev, q, ldq, 
>> nblk, 
>> > mpi_comm_rows, mpi_comm_cols, mpi_comm_all, & 
>> >                                            THIS_REAL_ELPA_KERNEL_API, 
>> > useQRFortran) 
>> > 
>> > I may be misreading, but this looks like it is slightly different than 
>> what 
>> > was called from the CP2K code. Thoughts? 
>>
>> Indeed, ELPA changed interface between 2015.05 and 2015.11. As you are 
>> using 2015.11, you should defined -D__ELPA3 instead of -D__ELPA2 I 
>> believe, does that work? 
>>
>>
>> Michael 
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20160116/abdfb1b6/attachment.htm>


More information about the CP2K-user mailing list