-
Notifications
You must be signed in to change notification settings - Fork 110
Guideline for developers
Leonardo Solis V edited this page Jun 17, 2019
·
11 revisions
% tree -L 1
.
├── add_preamble_license.sh
├── bin
├── common
├── device
├── doc
├── examples
├── host
├── input
├── LICENSE
├── logo.png
├── Makefile
├── preamble_license
├── prebuilt
├── README.md
├── remove_preamble_license.sh
├── stringify_ocl_krnls.sh
├── win
└── wrapcl
10 directories, 8 files
bin: Linux binary files are placed here once compiled.
File | Description |
---|---|
ocladock_<type>_<N>wi |
Binary file for <type> (cpu, gpu) device with <N> (16, 32, 64, 128, 256) work items |
common: common header files for host and device.
File | Description |
---|---|
calcenergy_basic.h | Basic defines and macros for energy calculation |
defines.h | Basic defines for energy calculation and kernels optimization |
device: source files containing kernels.
File | Description |
---|---|
auxiliary_genetic.cl | Auxiliary functions for energy calculation |
calcenergy.cl | Main function for score (binding energy) calculation |
calcgradient.cl | Main function for gradient calculation |
calcMergedEneGrad.cl | Score and gradient merged calculation |
kernel1.cl |
gpu_calc_initpop : calculates the scores of initial population |
kernel2.cl |
gpu_sum_evals : sums the evaluation counter states |
kernel3.cl |
perform_LS : performs the Solis-Wets local search |
kernel4.cl |
gpu_gen_and_eval_newpops : performs the genetic generation or global search |
kernel_sd.cl |
gradient_minSD : performs the Steepest-Descent local search |
kernel_fire.cl |
gradient_minFire : performs the Steepest-Descent local search |
kernel_ad.cl |
gradient_minAD : performs the ADADELTA local search |
examples/output: examples of docking log files.
host: host source files.
File | Description |
---|---|
calcenergy{.h}{.cpp} | Auxiliary functions for parallel energy-calculation |
getparameters{.h}{.cpp} | Functions for processing program input arguments |
miscellaneous{.h}{.cpp} | General-purpose functions |
main.cpp | Main source file |
performdocking{.h}{.cpp} | Entry point for OpenCL-platform setup and kernels execution |
processgrid{.h}{.cpp} | Functions for processing and converting the energy grids |
processligand{.h}{.cpp} | Functions for performing operations in the ligand |
processresult{.h}{.cpp} | Functions for processing docking results |
input: chemical compounds taken from PDB.
Ligan-receptor complex | Description |
---|---|
1stp | Structural origins of high-affinity biotin binding to streptavidin |
3ce3 | Crystal structure of the tyrosine kinase domain of the hepatocyte growth factor receptor C-MET in complex with a Pyrrolopyridinepyridone based inhibitor |
For both complexes, the containing folder has a similar structure.
wrapcl: custom wrapper functions for OpenCL API calls (compliant to OpenCL 1.2).
File | Description |
---|---|
BufferObjects{.h}{.cpp} | Functions for allocating, mapping, copying, and querying info of buffers |
CommandQueues{.h}{.cpp} | Functions for creating and querying info of command queues |
commonMacros.h | Header with defines to enable features and display of info of OpenCL elements (platform, devices, etc) |
Contexts{.h}{.cpp} | Functions for creating and querying info of contexts |
Devices{.h}{.cpp} | Functions for detecting available devices and querying their attributes |
ImportBinary{.h}{.cpp} | Functions for loading kernel code and transforming (offline) it into device programs |
ImportSource{.h}{.cpp} | Functions for loading kernel code and transforming (online) it into device programs |
Kernels{.h}{.cpp} | Functions for setting kernel arguments, dispatching kernels, and querying kernel attributes |
listAttributes{.h}{.cpp} | Definitions of OpenCL attributes |
Platforms{.h}{.cpp} | Functions for detecting installed platforms and querying their attributes |
Programs{.h}{.cpp} | Functions for querying program's info |
make DEVICE=<TYPE>
Parameters | Description | Values |
---|---|---|
<TYPE> |
Accelerator chosen |
CPU , GPU
|
After successful compilation, the host binary ocladock_<type>_<N>wi is placed under bin.
Binary-name portion | Description | Values |
---|---|---|
<type> | Accelerator chosen |
cpu , gpu
|
make DEVICE=<TYPE> NUMWI=<NWI> CONFIG=<CFG> REPRO=<Y/N>
Argument | Description | Possible values |
---|---|---|
DEVICE | OpenCL device type |
<TYPE> : CPU, GPU |
NUMWI | Number of work items per work group |
<NWI> : 16, 32, 64, 128, 256 |
CONFIG | Host configuration |
<CFG> : RELEASE, LDEBUG (light), FDEBUG (full) |
REPRO (FIXME ) |
Reproduce results (remove randomness) |
<Y/N> : YES, NO |
Check the configurations in the project's Makefile.
Go to Wiki home.
AutoDock for GPUs and other accelerators.
Contents