149 lines
5.1 KiB
Markdown
149 lines
5.1 KiB
Markdown
This is molscat 14 modified by F. Lique
|
||
|
||
## how to build
|
||
|
||
```sh
|
||
graffy@graffy-ws2:~/work/saboi$ ls -l
|
||
total 4
|
||
drwxr-xr-x 3 graffy spm 4096 févr. 20 13:51 molscat_14.git
|
||
```
|
||
|
||
### create a directory for the build:
|
||
|
||
```sh
|
||
graffy@graffy-ws2:~/work/saboi$ mkdir molscat_14.build
|
||
graffy@graffy-ws2:~/work/saboi$ cd molscat_14.build/
|
||
```
|
||
|
||
### configure the build
|
||
|
||
```sh
|
||
graffy@graffy-ws2:~/work/saboi/molscat_14.build$ cmake ../molscat_14.git/
|
||
-- The C compiler identification is GNU 9.4.0
|
||
-- The CXX compiler identification is GNU 9.4.0
|
||
-- Check for working C compiler: /usr/bin/cc
|
||
-- Check for working C compiler: /usr/bin/cc -- works
|
||
-- Detecting C compiler ABI info
|
||
-- Detecting C compiler ABI info - done
|
||
-- Detecting C compile features
|
||
-- Detecting C compile features - done
|
||
-- Check for working CXX compiler: /usr/bin/c++
|
||
-- Check for working CXX compiler: /usr/bin/c++ -- works
|
||
-- Detecting CXX compiler ABI info
|
||
-- Detecting CXX compiler ABI info - done
|
||
-- Detecting CXX compile features
|
||
-- Detecting CXX compile features - done
|
||
-- The Fortran compiler identification is GNU 9.4.0
|
||
-- Check for working Fortran compiler: /usr/bin/gfortran
|
||
-- Check for working Fortran compiler: /usr/bin/gfortran -- works
|
||
-- Detecting Fortran compiler ABI info
|
||
-- Detecting Fortran compiler ABI info - done
|
||
-- Checking whether /usr/bin/gfortran supports Fortran 90
|
||
-- Checking whether /usr/bin/gfortran supports Fortran 90 -- yes
|
||
Fortran compiler ID: GNU
|
||
Fortran compiler: gfortran
|
||
-- Looking for Fortran sgemm
|
||
-- Looking for Fortran sgemm - not found
|
||
-- Looking for pthread.h
|
||
-- Looking for pthread.h - found
|
||
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
|
||
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
|
||
-- Looking for pthread_create in pthreads
|
||
-- Looking for pthread_create in pthreads - not found
|
||
-- Looking for pthread_create in pthread
|
||
-- Looking for pthread_create in pthread - found
|
||
-- Found Threads: TRUE
|
||
-- Looking for Fortran sgemm
|
||
-- Looking for Fortran sgemm - found
|
||
-- Found BLAS: /usr/lib/x86_64-linux-gnu/libopenblas.so
|
||
-- Looking for Fortran cheev
|
||
-- Looking for Fortran cheev - found
|
||
-- A library with LAPACK API found.
|
||
-- BLAS_LIBRARIES = /usr/lib/x86_64-linux-gnu/libopenblas.so
|
||
-- LAPACK_LIBRARIES = /usr/lib/x86_64-linux-gnu/libopenblas.so
|
||
-- Configuring done
|
||
-- Generating done
|
||
-- Build files have been written to: /home/graffy/work/saboi/molscat_14.build
|
||
```
|
||
|
||
This created the makefile [~/work/saboi/molscat_14.build/Makefile].
|
||
|
||
|
||
#### useful configure options
|
||
|
||
|
||
##### Use a specific compiler
|
||
|
||
cmake option: `-DCMAKE_Fortran_COMPILER=<compiler>`
|
||
|
||
Where `<compiler>` is your fortran compiler executable e.g.:
|
||
|
||
- `gfortran`
|
||
- `gfortran-8`
|
||
- `ifort`
|
||
- `ifx`
|
||
|
||
##### Use a specific BLAS/LAPACK library
|
||
|
||
cmake option: `-DBLA_VENDOR=<BLAS_LIB> `
|
||
|
||
Where `<BLAS_LIB>` is your BLAS library e.g.:
|
||
|
||
- `OpenBLAS`
|
||
- `Intel10_64lp`
|
||
- `Apple`
|
||
|
||
see CMake [BLAS/LAPACK VENDORS](https://cmake.org/cmake/help/latest/module/FindBLAS.html#blas-lapack-vendors) for a full list of supported libraries
|
||
|
||
##### Choose a build type
|
||
|
||
cmake option: `-DCMAKE_BUILD_TYPE=<build_type>`
|
||
|
||
Where `<build_type>` is one of:
|
||
|
||
- `Debug`: useful for debugging (eg using `gdb`)
|
||
- `Release`: (optimize options are turned on)
|
||
|
||
### Build the `moscat` executable using the makefile [~/work/saboi/molscat_14.build/Makefile]
|
||
|
||
```sh
|
||
graffy@graffy-ws2:~/work/saboi/molscat_14.build$ make
|
||
Scanning dependencies of target molscat
|
||
[ 16%] Building Fortran object CMakeFiles/molscat.dir/POTEN_rigidXD.f90.o
|
||
[ 33%] Building Fortran object CMakeFiles/molscat.dir/potenl_pes.f.o
|
||
[ 50%] Building Fortran object CMakeFiles/molscat.dir/SUBROUTINES_F77.f.o
|
||
[ 66%] Building Fortran object CMakeFiles/molscat.dir/v14_new.f.o
|
||
/home/graffy/work/saboi/molscat_14.git/v14_new.f:10033:10:
|
||
|
||
10031 | DO 21 IM2=2,NMID
|
||
| 2
|
||
...
|
||
Warning: Named COMMON block ‘cmbase’ at (1) shall be of the same size as elsewhere (24248 vs 24256 bytes)
|
||
/home/graffy/work/saboi/molscat_14.git/v14_new.f:11:21:
|
||
|
||
11 | COMMON /MEMORY/ MX,IXNEXT,NIPR,IVLFL,X
|
||
| 1
|
||
Warning: Named COMMON block ‘memory’ at (1) shall be of the same size as elsewhere (800000016 vs 24 bytes)
|
||
[ 83%] Building Fortran object CMakeFiles/molscat.dir/vrtp_co_co2.f.o
|
||
[100%] Linking Fortran executable molscat
|
||
[100%] Built target molscat
|
||
```
|
||
|
||
### ifort and mkl on alambix cheatsheet
|
||
|
||
```sh
|
||
graffy@alambix-frontal:/opt/ipr/cluster/work.local/graffy/saboi$ git clone https://git.ipr.univ-rennes.fr/saboi/molscat_14.git ./molscat_14.git
|
||
graffy@alambix-frontal:/opt/ipr/cluster/work.local/graffy/saboi$ mkdir molscat_14.build
|
||
graffy@alambix-frontal:/opt/ipr/cluster/work.local/graffy/saboi$ cd molscat_14.build
|
||
graffy@alambix-frontal:/opt/ipr/cluster/work.local/graffy/saboi/molscat_14.build$ module load compilers/ifort/latest
|
||
graffy@alambix-frontal:/opt/ipr/cluster/work.local/graffy/saboi/molscat_14.build$ cmake -DCMAKE_Fortran_COMPILER=ifx -DBLA_VENDOR=Intel10_64lp -DCMAKE_BUILD_TYPE=Release ../molscat_14.git/
|
||
graffy@alambix-frontal:/opt/ipr/cluster/work.local/graffy/saboi/molscat_14.build$ make
|
||
```
|
||
|
||
## how to run
|
||
|
||
```sh
|
||
./molscat < ./co2_co.input > molscat.stdout
|
||
```
|
||
|