R1448/3ca39a32c40bmaster
README.md
Lenstool-HPC
Mass-modelling tool and fast Lens-map generation based on Lenstool using HPC techniques. Designed for CPU and GPU hardware clusters.
Getting Started
Prerequisites
- Cuda toolkit
- CuDNN
- Intel Compiler or GCC
- (Lenstool)
Installing
Compilation can be done using the gnu and intel compiler. If possible we suggest using intel for optimum performance to use the vectorisation features. If not available, vectorisation can also be achieved using the [marla] ( https://gitlab.com/ursache/marla) library.
To compile the executables, following environment variables have to be set:
`export LENSTOOLHPC_ROOT=/path/lenstool-hpc` `export LD_LIBRARY_PATH+=:/path/lenstool-hpc/src`
`export CFITSIO_ROOT=/path/cfitsio` `export WCSTOOL_ROOT=/path/libwcs` `export GSL_ROOT=/path/gsl-2.3` `export LD_LIBRARY_PATH+=:/path/gsl-2.3/lib`
To compile with LENSTOOL (necessary for test and benchmarks) the user has to set following environment variables with the path to corresponding libraries: `export LENSTOOL_ROOT=/path/lenstool-6.8.1`
Example for these variables can be found in the env (environment) directory.
The compilation of the src creates two libraries: liblenstoolhpc and liblenstoolhpc_GPU (if nvcc was found) in the src folder. Compilation of the utils folder creates the executables for map generation. Compilation of the executables necessitates nvcc.
- Lenstool_HPC (Single map generation)
- Bayesmap_GPU (Multi map generation)
Example
Generating a single map necessitates two input parameters: A Lenstool parameter file and a path to a folder for the results.
./Lenstool_HPC .parfile folder
Concrete example:
cd utils/exec
./Map_GPU ../../Benchmarks/ConfigFiles/m1931.par Test
Generating multiple maps using a bayes.dat file needs: A Lenstool parameter file, a path to a folder for the results and the bayes.dat file in the same folder.
cd utils/maps
Concrete example:
./Bayesmap_GPU ../../Benchmarks/ConfigFiles/m1931.par Test
Running the tests and Benchmarks
Tests with Lenstool-HPC compare the result with the corresponding Lenstool functions. A compiling Lenstool Library has to be provided. Tests can be run by launching the corresponding Script located in `Benchmark/Scripts`. These Test double also as a Benchmark comparison between Lenstool and Lenstool-HPC.
- Gradient Benchmark: Testing gradient Computation test
- GridGradient Benchmark: Testing first order derivative of deflection potential computation over a grid
- GridGradient2 Benchmark: Testing second order derivative of deflection potential computation over a grid
- Others..
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Authors
License
This project is licensed under the GPL3 License - see the [LICENSE.md](LICENSE.md) file for details
Acknowledgments
- SCITAS
- CSCS