|
|
**Dynamic Kernel Scheduler (DKS)**
|
|
|
|
|
|
The Dynamic Kernel Scheduler (DKS) is a slim software layer between the host application and the hardware accelerator. The aim of the DKS is to allow the creation of fast fine tuned kernels using device specific frameworks such as CUDA, OpenCL, OpenACC and OpenMP and accelerator libraries such as Thrust, Nvidia CUDA libraries, Intel MKL or others.
|
|
|
|
|
|
**Changes from DKS-1.1.x version**
|
|
|
|
|
|
DKS is split into three modules that can be enabled/disabled at compile time depending on which software it is used for.
|
|
|
|
|
|
-DENABLE_OPAL option should be enabled if DKS will be used for OPAL
|
|
|
|
|
|
-DENABLE_MUSR option should be enable if DKS will be used for musrfit
|
|
|
|
|
|
-DENABLE_PET option should be enabled if DKS will be used for PET image reconstruction
|
|
|
|
|
|
By default DKS links to shared CUDA libraries, in order to enable static linking with CUDA libraries addition flag must be set
|
|
|
-DSTATIC_CUDA=1
|
|
|
|
|
|
**DKS instalation**
|
|
|
|
|
|
#clone DKS
|
|
|
|
|
|
`git clone git@gitlab.psi.ch:uldis_l/DKS.git DKS`
|
|
|
|
|
|
#switch to the desired version
|
|
|
|
|
|
`git checkout DKS-1.1.2`
|
|
|
|
|
|
#configure installation in build directory
|
|
|
#OPTIONAL: enable DKS modules to compile -DENABLE_OPAL, -DENABLE_MUSR, -DENABLE_PET
|
|
|
#OPTIONAL: enable static linking of CUDA libraries with flag STATIC_CUDA=1
|
|
|
|
|
|
`CXX=<c++ compiler> CC=<c compiler> -DCMAKE_INSTALL_PREFIX=<install dir> <path to DKS source> [-DENABLE_OPAL=1 -DENABLE_MUSR=1 -DENABLE_PET=1 -DSTATIC_CUDA=1]`
|
|
|
|
|
|
#install DKS
|
|
|
|
|
|
`make`
|
|
|
|
|
|
`make install` |
|
|
\ No newline at end of file |