Rename graphte perf test from C to C-graphite

Also adjust VMC timestep to 1.0
This commit is contained in:
Ye Luo 2017-09-20 16:37:31 -05:00
parent 79d9816d8a
commit 74f926a7fc
6 changed files with 21 additions and 19 deletions

View File

@ -1,20 +1,20 @@
# C benchmark tests # C-graphite benchmark tests
# Input variables # Input variables
# QMC_DATA - C subdirectory should contain the *.h5 files # QMC_DATA - C-graphite subdirectory should contain the *.h5 files
FUNCTION(ADD_C_TEST TEST_NAME TEST_DIR INPUT_FILE H5_FILE) FUNCTION(ADD_C_GRAPHITE_TEST TEST_NAME TEST_DIR INPUT_FILE H5_FILE)
MESSAGE("Adding test ${TEST_NAME}") MESSAGE("Adding test ${TEST_NAME}")
SET (WDIR "${qmcpack_BINARY_DIR}/tests/performance/C/${TEST_DIR}") SET (WDIR "${qmcpack_BINARY_DIR}/tests/performance/C-graphite/${TEST_DIR}")
SET (SDIR "${CMAKE_SOURCE_DIR}/tests/performance/C/sample/${TEST_DIR}") SET (SDIR "${CMAKE_SOURCE_DIR}/tests/performance/C-graphite/sample/${TEST_DIR}")
SET(QMC_APP "${qmcpack_BINARY_DIR}/bin/qmcpack") SET(QMC_APP "${qmcpack_BINARY_DIR}/bin/qmcpack")
IF (ENABLE_TIMERS) IF (ENABLE_TIMERS)
SET(PERF_ARGS "--enable-timers=fine") SET(PERF_ARGS "--enable-timers=fine")
ENDIF() ENDIF()
SET (PPDIR "${CMAKE_SOURCE_DIR}/tests/performance/C") SET (PPDIR "${CMAKE_SOURCE_DIR}/tests/performance/C-graphite")
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E copy_directory ${SDIR} ${WDIR}) EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E copy_directory ${SDIR} ${WDIR})
@ -24,7 +24,7 @@ FUNCTION(ADD_C_TEST TEST_NAME TEST_DIR INPUT_FILE H5_FILE)
MAYBE_SYMLINK(${F} ${WDIR}/../${R}) MAYBE_SYMLINK(${F} ${WDIR}/../${R})
ENDFOREACH() ENDFOREACH()
MAYBE_SYMLINK("${QMC_DATA}/C/${H5_FILE}" "${WDIR}/../${H5_FILE}") MAYBE_SYMLINK("${QMC_DATA}/C-graphite/${H5_FILE}" "${WDIR}/../${H5_FILE}")
SET(PROCS 1) SET(PROCS 1)
SET(THREADS 16) SET(THREADS 16)
@ -50,8 +50,8 @@ ENDFUNCTION()
IF (NOT QMC_DATA) IF (NOT QMC_DATA)
MESSAGE("QMC_DATA not set. Performance tests not added.") MESSAGE("QMC_DATA not set. Performance tests not added.")
ELSEIF(NOT EXISTS ${QMC_DATA}/C) ELSEIF(NOT EXISTS ${QMC_DATA}/C-graphite)
MESSAGE("C directory under QMC_DATA does not exist. C performance tests not added.") MESSAGE("C-graphite directory under QMC_DATA does not exist. C-graphite performance tests not added.")
ELSE() ELSE()
# *.h5 files and md5 sums # *.h5 files and md5 sums
@ -66,7 +66,7 @@ ELSE()
LIST(REMOVE_ITEM C_SIZES ${SIZE}) LIST(REMOVE_ITEM C_SIZES ${SIZE})
ENDIF() ENDIF()
ENDFOREACH() ENDFOREACH()
MESSAGE("C sizes to benchmark: ${C_SIZES}") MESSAGE("C-graphite sizes to benchmark: ${C_SIZES}")
ENDIF() ENDIF()
IF (QMC_CUDA) IF (QMC_CUDA)
@ -78,15 +78,15 @@ ELSE()
FILE(COPY ${CMAKE_CURRENT_SOURCE_DIR}/../NiO/process_perf.py DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) FILE(COPY ${CMAKE_CURRENT_SOURCE_DIR}/../NiO/process_perf.py DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
FOREACH(SIZE IN LISTS C_SIZES) FOREACH(SIZE IN LISTS C_SIZES)
SET(PERF_TEST performance-C-${COMPUTE_TYPE}-S${SIZE}-1-16) SET(PERF_TEST performance-C-graphite-${COMPUTE_TYPE}-S${SIZE}-1-16)
SET(TEST_DIR dmc-S${SIZE}-${COMPUTE_TYPE}) SET(TEST_DIR dmc-S${SIZE}-${COMPUTE_TYPE})
SET(INPUT_FILE C-graphite-S${SIZE}-dmc.xml) SET(INPUT_FILE C-graphite-S${SIZE}-dmc.xml)
# H5 filename is fixed consistent with CORAL name, but should be templated if a range of carbon sizes is added # H5 filename is fixed consistent with CORAL name, but should be templated if a range of carbon sizes is added
SET(H5_FILE lda.pwscf.h5) SET(H5_FILE lda.pwscf.h5)
# SET(H5_FILE C-graphite-supertwist111-supershift000-S${SIZE}.h5) # SET(H5_FILE C-graphite-supertwist111-supershift000-S${SIZE}.h5)
SET(H5_FULL_PATH "${QMC_DATA}/C/${H5_FILE}") SET(H5_FULL_PATH "${QMC_DATA}/C-graphite/${H5_FILE}")
IF (EXISTS ${H5_FULL_PATH}) IF (EXISTS ${H5_FULL_PATH})
ADD_C_TEST(${PERF_TEST} ${TEST_DIR} ${INPUT_FILE} ${H5_FILE}) ADD_C_GRAPHITE_TEST(${PERF_TEST} ${TEST_DIR} ${INPUT_FILE} ${H5_FILE})
ELSE() ELSE()
MESSAGE("${PERF_TEST} not added because the corresponding h5 file not found: ${H5_FULL_PATH}") MESSAGE("${PERF_TEST} not added because the corresponding h5 file not found: ${H5_FULL_PATH}")
ENDIF() ENDIF()

View File

@ -37,7 +37,7 @@ VMC with drift term included (iii) DMC with constant population.
3. Requirements 3. Requirements
Download the necessary C h5 orbital file from the following link Download the necessary C-graphite h5 orbital file from the following link
https://anl.box.com/s/j5d6jeazpgx5441s04ajtv77iogoyjsh https://anl.box.com/s/j5d6jeazpgx5441s04ajtv77iogoyjsh
@ -50,6 +50,8 @@ $ md5sum *.h5
$ ls -l *.h5 $ ls -l *.h5
3187556652 lda.pwscf.h5 3187556652 lda.pwscf.h5
The h5 file should be placed in a directory labeled C-graphite.
4. Throughput metric 4. Throughput metric
5. Benchmarking with ctest 5. Benchmarking with ctest
6. Running the benchmarks manually 6. Running the benchmarks manually

View File

@ -47,7 +47,7 @@
<parameter name="substeps"> 5 </parameter> <parameter name="substeps"> 5 </parameter>
<parameter name="steps"> 16 </parameter> <parameter name="steps"> 16 </parameter>
<parameter name="blocks"> 2 </parameter> <parameter name="blocks"> 2 </parameter>
<parameter name="timestep"> 2.0 </parameter> <parameter name="timestep"> 1.0 </parameter>
<parameter name="usedrift"> no </parameter> <parameter name="usedrift"> no </parameter>
</qmc> </qmc>
<qmc method="vmc" move="pbyp" gpu="yes"> <qmc method="vmc" move="pbyp" gpu="yes">
@ -58,7 +58,7 @@
<parameter name="substeps"> 5 </parameter> <parameter name="substeps"> 5 </parameter>
<parameter name="steps"> 16 </parameter> <parameter name="steps"> 16 </parameter>
<parameter name="blocks"> 2 </parameter> <parameter name="blocks"> 2 </parameter>
<parameter name="timestep"> 2.0 </parameter> <parameter name="timestep"> 1.0 </parameter>
<parameter name="usedrift"> yes </parameter> <parameter name="usedrift"> yes </parameter>
</qmc> </qmc>
<qmc method="dmc" move="pbyp" checkpoint="-1" gpu="yes"> <qmc method="dmc" move="pbyp" checkpoint="-1" gpu="yes">

View File

@ -47,7 +47,7 @@
<parameter name="substeps"> 5 </parameter> <parameter name="substeps"> 5 </parameter>
<parameter name="steps"> 16 </parameter> <parameter name="steps"> 16 </parameter>
<parameter name="blocks"> 2 </parameter> <parameter name="blocks"> 2 </parameter>
<parameter name="timestep"> 2.0 </parameter> <parameter name="timestep"> 1.0 </parameter>
<parameter name="usedrift"> no </parameter> <parameter name="usedrift"> no </parameter>
</qmc> </qmc>
<qmc method="vmc" move="pbyp" gpu="yes"> <qmc method="vmc" move="pbyp" gpu="yes">
@ -58,7 +58,7 @@
<parameter name="substeps"> 5 </parameter> <parameter name="substeps"> 5 </parameter>
<parameter name="steps"> 16 </parameter> <parameter name="steps"> 16 </parameter>
<parameter name="blocks"> 2 </parameter> <parameter name="blocks"> 2 </parameter>
<parameter name="timestep"> 2.0 </parameter> <parameter name="timestep"> 1.0 </parameter>
<parameter name="usedrift"> yes </parameter> <parameter name="usedrift"> yes </parameter>
</qmc> </qmc>
<qmc method="dmc" move="pbyp" checkpoint="-1" gpu="yes"> <qmc method="dmc" move="pbyp" checkpoint="-1" gpu="yes">

View File

@ -4,5 +4,5 @@
message("Adding performance tests for QMCPACK") message("Adding performance tests for QMCPACK")
# includes # includes
SUBDIRS(NiO C) SUBDIRS(NiO C-graphite)