Commit 304ce17e authored by Kim, Jungwon's avatar Kim, Jungwon
Browse files

Merge branch 'develop' into 'master'

Add Fortran 90 Binding

See merge request eck/papyrus!2
parents 30ee861f b425f34f
Loading
Loading
Loading
Loading
+15 −4
Original line number Diff line number Diff line
@@ -6,17 +6,28 @@ set(PAPYRUS_VERSION_MAJOR 1)
set(PAPYRUS_VERSION_MINOR 0)
set(PAPYRUS_VERSION_PATCH 0)

set(PAPYRUS_USE_FORTRAN OFF CACHE BOOL "Enable support for Fortran 90")

option(PAPYRUS_BUILD_WITH_SPACK "Bulid with Spack" OFF)

if(PAPYRUS_USE_FORTRAN)
    enable_language(Fortran)
endif()

find_package(MPI REQUIRED)
MESSAGE (STATUS "MPI_CXX_COMPILER ${MPI_CXX_COMPILER}")
MESSAGE (STATUS "MPI_C_COMPILER ${MPI_C_COMPILER}")
if ("${MPI_C_COMPILER}" STREQUAL "MPI_C_COMPILER-NOTFOUND")
else()
MESSAGE (STATUS "MPI_Fortran_COMPILER ${MPI_Fortran_COMPILER}")

if (NOT "${MPI_C_COMPILER}" STREQUAL "MPI_C_COMPILER-NOTFOUND")
    set(CMAKE_C_COMPILER "${MPI_C_COMPILER}")
endif()
if ("${MPI_CXX_COMPILER}" STREQUAL "MPI_CXX_COMPILER-NOTFOUND")
else()
if (NOT "${MPI_CXX_COMPILER}" STREQUAL "MPI_CXX_COMPILER-NOTFOUND")
    set(CMAKE_CXX_COMPILER "${MPI_CXX_COMPILER}")
endif()
if (NOT "${MPI_Fortran_COMPILER}" STREQUAL "MPI_Fortran_COMPILER-NOTFOUND")
    set(CMAKE_Fortran_COMPILER "${MPI_Fortran_COMPILER}")
endif()
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)

+2 −1
Original line number Diff line number Diff line
@@ -2,5 +2,6 @@
rm -rf build install
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=../install -DMPIEXEC="/opt/intel/compilers_and_libraries_2017.4.196/linux/mpi/intel64/bin/mpirun" -DMPIEXEC_NUMPROC_FLAG="-n"
#cmake .. -DCMAKE_INSTALL_PREFIX=../install -DMPIEXEC="/opt/intel/compilers_and_libraries_2017.4.196/linux/mpi/intel64/bin/mpirun" -DMPIEXEC_NUMPROC_FLAG="-n" # Stampede2
cmake .. -DCMAKE_INSTALL_PREFIX=../install -DMPIEXEC="/opt/slurm/default/bin/srun" -DMPIEXEC_NUMPROC_FLAG="-n" -DPAPYRUS_USE_FORTRAN=ON #Grand Tave
make -j install
+1 −1
Original line number Diff line number Diff line
@@ -53,7 +53,7 @@ extern int papyruskv_put(int db, const char* key, size_t keylen, const char* val
extern int papyruskv_get(int db, const char* key, size_t keylen, char** val, size_t* vallen);
extern int papyruskv_get_pos(int db, const char* key, size_t keylen, char** val, size_t* vallen, papyruskv_pos_t* pos);
extern int papyruskv_delete(int db, const char* key, size_t keylen);
extern int papyruskv_free(void* val);
extern int papyruskv_free(char** val);
extern int papyruskv_fence(int db, int level);
extern int papyruskv_barrier(int db, int level);
extern int papyruskv_signal_notify(int signum, int* ranks, int count);
+2 −1
Original line number Diff line number Diff line
add_subdirectory(src)
if(NOT PAPYRUS_BUILD_WITH_SPACK)
add_subdirectory(tests)
endif()
add_subdirectory(bin)
+1 −1
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ int papyruskv_delete(int db, const char* key, size_t keylen) {
    return Platform::GetPlatform()->Delete(db, key, keylen);
}

int papyruskv_free(void* val) {
int papyruskv_free(char** val) {
    return Platform::GetPlatform()->Free(val);
}

Loading