Tested on (Requirements)¶
- OS base: CentOS (x86_64) \(\boldsymbol{\ge}\) 6.6 (Rocks 6.2)
- Compiler: Intel Parallel Studio XE Cluster Edition \(\boldsymbol{\ge}\) 17.0.1
Build process¶
Get the current BayeScan version from the official webpage and enter into the source directory.
wget http://cmpg.unibe.ch/software/BayeScan/files/BayeScan2.1.zip upzip BayesScan2.1.zip cd BayeScan/source
Modifie the
Makefile
in order to use icpc (C++ Intel Compiler
), instead of g++.# BayeScan makefile CC=icpc bayescan_2.1: start.o beta.o dirichlet.o RJupdates.o MHupdates.o likelihood.o read_write.o anyoption.o $(CC) -fopenmp -static -lpthread -o bayescan_2.1 start.o beta.o dirichlet.o RJupdates.o MHupdates.o likelihood.o read_write.o anyoption.o start.o: start.cpp errors.cpp anyoption.h global_defs.h $(CC) -fopenmp -c start.cpp errors.cpp beta.o: beta.cpp global_defs.h $(CC) -fopenmp -c beta.cpp dirichlet.o: dirichlet.cpp global_defs.h $(CC) -fopenmp -c dirichlet.cpp RJupdates.o: RJupdates.cpp global_defs.h $(CC) -fopenmp -c RJupdates.cpp MHupdates.o: MHupdates.cpp global_defs.h $(CC) -fopenmp -c MHupdates.cpp likelihood.o: likelihood.cpp global_defs.h $(CC) -fopenmp -c likelihood.cpp read_write.o: read_write.cpp errors.cpp global_defs.h $(CC) -fopenmp -c read_write.cpp errors.cpp anyoption.o: anyoption.cpp anyoption.h $(CC) -fopenmp -c anyoption.cpp clean: rm *.o bayescan_2.1
Build BayeScan
make
Note
You must load the necessary modules to build BayeScan (i.e.
Intel Compiler
).In Apolo II:
module load intel/2017_update-1
In Cronos:
module load intel/intel-18.0.2
Finally, create the installation directory and move the built executable.
Apolo
mkdir -p /share/apps/bayescan/2.1/intel-2017_update-1/bin mv bayescan_2.1 /share/apps/bayescan/2.1/intel-2017_update-1/bin/bayescanCronos
mkdir -p /share/apps/bayescan/2.1/intel-18.0.2/bin mv bayescan_2.1 /share/apps/bayescan/2.1/intel-18.0.2/bin/bayescan
Modulefile¶
Apolo II
#%Module1.0####################################################################
##
## module load bayescan/2.1_intel-2017_update-1
##
## /share/apps/modules/bayescan/2.1_intel-2017_update-1
## Written by Juan David Arcila Moreno
##
proc ModulesHelp {} {
global version modroot
puts stderr "Sets the environment for using bayescan 2.1_intel-2017_update-1\
\nin the shared directory \
\n/share/apps/bayescan/2.1/intel-2017_update-1\
\nbuilded with icpc compiler from Intel/2017_update-1. This application uses OpenMP"
}
module-whatis "(Name________) bayescan"
module-whatis "(Version_____) 2.1_intel-2017_update-1"
module-whatis "(Compilers___) intel-2017_update-1"
module-whatis "(System______) x86_64-redhat-linux"
module-whatis "(Libraries___) "
# for Tcl script use only
set topdir /share/apps/bayescan/2.1/intel-2017_update-1
set version 2.1_intel-2017_update-1
set sys x86_64-redhat-linux
conflict bayescan
prepend-path PATH $topdir/bin
Cronos
#%Module1.0####################################################################
##
## module load bayescan/2.1_intel-18.0.2
##
## /share/apps/modules/bayescan/2.1_intel-18.0.2
## Written by Juan David Arcila-Moreno
##
proc ModulesHelp {} {
global version modroot
puts stderr "Sets the environment for using bayescan 2.1_intel-18.0.2\
\nin the shared directory \
\n/share/apps/bayescan/2.1/intel-18.0.2\
\nbuilded with icpc from intel-18.0.2. This application uses OpenMP"
}
module-whatis "(Name________) bayescan"
module-whatis "(Version_____) 2.1_intel-18.0.2"
module-whatis "(Compilers___) icpc - intel-18.0.2"
module-whatis "(System______) x86_64-redhat-linux"
module-whatis "(Libraries___) "
# for Tcl script use only
set topdir /share/apps/bayescan/2.1/intel-18.0.2
set version 2.1_intel-18.0.2
set sys x86_64-redhat-linux
conflict bayescan
prepend-path PATH $topdir/bin