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

install arrayfire and cppcheck fixes

parent 5781df9d
No related branches found
No related tags found
No related merge requests found
......@@ -10,12 +10,12 @@ matrix:
- os: linux
dist: trusty
sudo: required
env: PLUMED_CC=mpicc PLUMED_CXX=mpic++ MAKEDOC=yes PLUMED_ALL_TESTS=yes LAPACK=yes ASMJIT=673dcefa
env: PLUMED_CC=mpicc PLUMED_CXX=mpic++ MAKEDOC=yes PLUMED_ALL_TESTS=yes LAPACK=yes ASMJIT=673dcefa ARRAYFIRE=yes
# coverage scan
- os: linux
dist: trusty
sudo: required
env: PLUMED_CC=mpicc PLUMED_CXX=mpic++ MAKECOVERAGE=yes PLUMED_ALL_TESTS=yes
env: PLUMED_CC=mpicc PLUMED_CXX=mpic++ MAKECOVERAGE=yes PLUMED_ALL_TESTS=yes ARRAYFIRE=cpu
# the following are with debug flags
- os: linux
dist: trusty
......@@ -151,6 +151,8 @@ install:
# moreover, we hardcode path to dynamic library, required for xdrfile to link properly
# I do it only when LD_LIBRARY_PATH is non blank, since otherwise clang gives problems
- if test -n "$LD_LIBRARY_PATH" ; then PLUMED_LDFLAGS="-Wl,-rpath,$LD_LIBRARY_PATH" ; fi
# arrayfire
- if test "$ARRAYFIRE" == yes; then ./.travis/install.arrayfire ; fi
# macports related stuff
# configure macports
- if test -n "$PLUMED_MACPORTS" ; then
......@@ -176,6 +178,7 @@ script:
- if test -n "$ASMJIT" ; then CONFIG_FLAGS="$CONFIG_FLAGS --enable-asmjit" ; fi
- if test "$MAKEDOC" == yes ; then CONFIG_FLAGS="$CONFIG_FLAGS --enable-pdfdoc" ; fi
- if test "$MAKECOVERAGE" == yes ; then CONFIG_FLAGS="$CONFIG_FLAGS --enable-gcov" ; fi
- if test "$ARRAYFIRE" == yes; then CONFIG_FLAGS="$CONFIG_FLAGS --enable-af_cpu"; fi
# when running lcov plumed should be compiled with -O0
- if test "$MAKECOVERAGE" == yes ; then PLUMED_CXXFLAGS=-O0 ; fi
......
#! /bin/bash
set -e
set -x
cd "$(mktemp -dt plumed.XXXXXX)"
wget http://arrayfire.s3.amazonaws.com/3.6.1/ArrayFire-v3.6.1_Linux_x86_64.sh
./Arrayfire_*_Linux_x86_64.sh --include-subdir --prefix=/opt
echo /opt/arrayfire/lib > /etc/ld.so.conf.d/arrayfire.conf
ldconfig
......@@ -125,7 +125,7 @@ void SAXSGPU::registerKeywords(Keywords& keys) {
componentsAreNotOptional(keys);
useCustomisableComponents(keys);
keys.addFlag("SERIAL",false,"Perform the calculation in serial - for debug purpose");
keys.add("compulsory","SPLITB","Spliting the length of the atom array");
keys.add("compulsory","SPLITB","Spliting the length of the atom array, default is equal to the number of used atoms");
keys.addFlag("MULTIGPU",false,"Set to TRUE if you want to use multiple GPU");
keys.addFlag("ATOMISTIC",false,"calculate SAXS for an atomistic model");
keys.addFlag("MARTINI",false,"calculate SAXS for a Martini model");
......@@ -143,7 +143,9 @@ void SAXSGPU::registerKeywords(Keywords& keys) {
SAXSGPU::SAXSGPU(const ActionOptions&ao):
PLUMED_COLVAR_INIT(ao),
pbc(true),
serial(false)
serial(false),
splitb(0),
total_device(1)
{
#ifndef __PLUMED_HAS_ARRAYFIRE
error("SAXSGPU can only be used if ARRAYFIRE is installed");
......@@ -160,7 +162,7 @@ SAXSGPU::SAXSGPU(const ActionOptions&ao):
splitb = 0;
parse("SPLITB",splitb);
if(splitb==0) error("SPLITB must be set");
if(splitb==0) splitb=size;
bool multi=false;
parseFlag("MULTIGPU",multi);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment