Skip to content
Snippets Groups Projects
Commit 40cecbfb authored by carlocamilloni's avatar carlocamilloni
Browse files

link plumed to arrayfire to build gpu enabled code

in particular a gpu version of SAXS is added in ISDB
this is just a SAXS collective variable implemented to run on GPU
a regtest is added. This was implemented with an old version of
arrayfire so it should be checked wheter it can be made more modern
a regtest is also added
parent 8df64617
No related branches found
No related tags found
No related merge requests found
......@@ -264,6 +264,8 @@ PLUMED_CONFIG_ENABLE([boost_serialization],[search for boost serialization],[no]
PLUMED_CONFIG_ENABLE([asmjit],[search for asmjit],[no])
PLUMED_CONFIG_ENABLE([fftw],[search for fftw],[no])
PLUMED_CONFIG_ENABLE([python],[search for python],[yes])
PLUMED_CONFIG_ENABLE([af_ocl],[arrayfire_opencl],[search for arrayfire],[no])
PLUMED_CONFIG_ENABLE([af_cuda],[arrayfire_cuda],[search for arrayfire],[no])
AC_ARG_VAR(SOEXT,[extension of dynamic libraries (so/dylib)])
AC_ARG_VAR(STATIC_LIBS,[variables that should be linked statically directly to MD code - configure will add here -ldl if necessary ])
......@@ -735,6 +737,13 @@ import os
fi
fi
if test $af_ocl == true ; then
PLUMED_CHECK_PACKAGE([arrayfire.h],[af_is_double],[__PLUMED_HAS_ARRAYFIRE],[afopencl])
fi
if test $af_cuda == true ; then
PLUMED_CHECK_PACKAGE([arrayfire.h],[af_is_double],[__PLUMED_HAS_ARRAYFIRE],[afcuda])
fi
# in non-debug mode, add -DNDEBUG
if test "$debug" == false ; then
AC_MSG_NOTICE([Release mode, adding -DNDEBUG])
......
include ../../scripts/test.make
#! FIELDS time saxs.q_0 saxs.q_1 saxs.q_2 saxs.q_3 saxs.q_4 saxs.q_5 saxs.q_6 saxs.q_7 saxs.q_8 saxs.q_9 saxs.q_10 saxs.q_11 saxs.q_12 saxs.q_13 saxs.q_14 saxs.exp_0 saxs.exp_1 saxs.exp_2 saxs.exp_3 saxs.exp_4 saxs.exp_5 saxs.exp_6 saxs.exp_7 saxs.exp_8 saxs.exp_9 saxs.exp_10 saxs.exp_11 saxs.exp_12 saxs.exp_13 saxs.exp_14
0.000000 1.100661 0.863129 0.559587 0.317188 0.174275 0.100178 0.056937 0.028540 0.012530 0.006728 0.006786 0.008899 0.011032 0.012345 0.012590 1.090200 0.790632 0.453808 0.254737 0.154928 0.092150 0.052633 0.027656 0.012278 0.008806 0.013730 0.018004 0.019337 0.021013 0.022051
#! FIELDS time saxsb.q_0 saxsb.q_1 saxsb.q_2 saxsb.q_3 saxsb.q_4 saxsb.q_5 saxsb.q_6 saxsb.q_7 saxsb.q_8 saxsb.q_9 saxsb.q_10 saxsb.q_11 saxsb.q_12 saxsb.q_13 saxsb.q_14 saxsb.exp_0 saxsb.exp_1 saxsb.exp_2 saxsb.exp_3 saxsb.exp_4 saxsb.exp_5 saxsb.exp_6 saxsb.exp_7 saxsb.exp_8 saxsb.exp_9 saxsb.exp_10 saxsb.exp_11 saxsb.exp_12 saxsb.exp_13 saxsb.exp_14
0.000000 1.100662 0.863129 0.559587 0.317188 0.174275 0.100178 0.056937 0.028540 0.012530 0.006728 0.006786 0.008899 0.011032 0.012345 0.012590 1.090200 0.790632 0.453808 0.254737 0.154928 0.092150 0.052633 0.027656 0.012278 0.008806 0.013730 0.018004 0.019337 0.021013 0.022051
mpiprocs=4
type=driver
arg="--plumed plumed.dat --timestep 0.005 --mf_pdb template.pdb"
plumed_needs="arrayfire"
This diff is collapsed.
This diff is collapsed.
MOLINFO STRUCTURE=template.pdb
SAXS ...
LABEL=saxs
ATOMS=1-355
ADDEXP
SCEXP=3920000
MARTINI
QVALUE1=0.02 EXPINT1=1.0902
QVALUE2=0.05 EXPINT2=0.790632
QVALUE3=0.08 EXPINT3=0.453808
QVALUE4=0.11 EXPINT4=0.254737
QVALUE5=0.14 EXPINT5=0.154928
QVALUE6=0.17 EXPINT6=0.0921503
QVALUE7=0.2 EXPINT7=0.052633
QVALUE8=0.23 EXPINT8=0.0276557
QVALUE9=0.26 EXPINT9=0.0122775
QVALUE10=0.29 EXPINT10=0.00880634
QVALUE11=0.32 EXPINT11=0.0137301
QVALUE12=0.35 EXPINT12=0.0180036
QVALUE13=0.38 EXPINT13=0.0193374
QVALUE14=0.41 EXPINT14=0.0210131
QVALUE15=0.44 EXPINT15=0.0220506
... SAXS
SAXSGPU ...
LABEL=saxsb
ATOMS=1-355
ADDEXP
SCEXP=3920000
MARTINI
SPLITB=355
QVALUE1=0.02 EXPINT1=1.0902
QVALUE2=0.05 EXPINT2=0.790632
QVALUE3=0.08 EXPINT3=0.453808
QVALUE4=0.11 EXPINT4=0.254737
QVALUE5=0.14 EXPINT5=0.154928
QVALUE6=0.17 EXPINT6=0.0921503
QVALUE7=0.2 EXPINT7=0.052633
QVALUE8=0.23 EXPINT8=0.0276557
QVALUE9=0.26 EXPINT9=0.0122775
QVALUE10=0.29 EXPINT10=0.00880634
QVALUE11=0.32 EXPINT11=0.0137301
QVALUE12=0.35 EXPINT12=0.0180036
QVALUE13=0.38 EXPINT13=0.0193374
QVALUE14=0.41 EXPINT14=0.0210131
QVALUE15=0.44 EXPINT15=0.0220506
...
PRINT ARG=(saxs\.q_.*),(saxs\.exp_.*) FILE=colvar STRIDE=1
PRINT ARG=(saxsb\.q_.*),(saxsb\.exp_.*) FILE=colvarb STRIDE=1
DUMPDERIVATIVES ARG=(saxs\.q_.*) FILE=forces FMT=%.4f
DUMPDERIVATIVES ARG=(saxsb\.q_.*) FILE=forcesb FMT=%.4f
ENDPLUMED
This diff is collapsed.
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment