ccsb-scripps / AutoDock-GPU

AutoDock for GPUs and other accelerators
https://autodock.scripps.edu
GNU General Public License v2.0
403 stars 110 forks source link

Cannot Compile from source nor Run binary on WSL2 #211

Closed randymojica closed 2 years ago

randymojica commented 2 years ago

Good Afternoon! I have been working with AutoDock4 since a few years ago and now that there is a recent and updated version I really wanted to give it a try. I tried to compile AutoDock-GPU from source and failed, and downloaded de binary adgpu-v1.5.3_linux_ocl_128wi released on Dec. 17, 2021, but it didn't work either.

To Reproduce When I tried to execute the binary downloaded from github, there is an error constantly popping up: ./adgpu-v1.5.3_linux_ocl_128wi --lfile ../acarbose_pubchem_minimized.pdbqt --ffile ../aGluc_3top_md_first_frame.maps.fld --nrun 50

Running 1 docking calculation Kernel source used for development: ./device/calcenergy.cl Kernel string used for building: ./host/inc/stringify.h Kernel compilation flags: -I ./device -I ./common -DN128WI -cl-mad-enable Error: clGetPlatformIDs(): -1001

Expected behavior I expected for the compiled program to excecute like normal or the downloaded binary to run without problems as in the previous AutoDock 4.2.6, but that was not the case.

Information to help narrow down the bug

rm -f ./host/inc/performdocking.h ./host/src/performdocking.cpp Building adgpu_analysis ... g++ \ ./host/src/calcenergy.cpp ./host/src/getparameters.cpp ./host/src/main.cpp ./host/src/miscellaneous.cpp ./host/src/processgrid.cpp ./host/src/processligand.cpp ./host/src/processresult.cpp ./host/src/setup.cpp \ -std=c++11 -I./common -I./host/inc -DVERSION=\"v1.5-release\" \ -o./bin/adgpu_analysis \ -O3 -DTOOLMODE DEVICE is set to GPU CPU_INCLUDE_PATH is set to /usr/local/cuda-11.7/include/CL CPU_LIBRARY_PATH is set to /usr/local/cuda-11.7/lib64 GPU_INCLUDE_PATH is set to /usr/local/cuda-11.7/include GPU_LIBRARY_PATH is set to /usr/local/cuda-11.7/lib64 nvcc -DN256WI -use_fast_math --ptxas-options="-v" -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70 -std=c++11 -I./common -I./host/inc -I/usr/local/cuda-11.7/include -I./cuda -c ./cuda/kernels.cu /bin/sh: 1: nvcc: not found make: [Makefile.Cuda:187: kernels] Error 127***

While using the next option: make DEVICE=GPU NUMWI=256 make DEVICE=GPU NUMWI=128

Returned the outputs:

rm -f ./host/inc/performdocking.h ./host/src/performdocking.cpp Building adgpu_analysis ... g++ \ ./host/src/calcenergy.cpp ./host/src/getparameters.cpp ./host/src/main.cpp ./host/src/miscellaneous.cpp ./host/src/processgrid.cpp ./host/src/processligand.cpp ./host/src/processresult.cpp ./host/src/setup.cpp \ -std=c++11 -I./common -I./host/inc -DVERSION=\"v1.5-release\" \ -o./bin/adgpu_analysis \ -O3 -DTOOLMODE DEVICE is set to GPU CPU_INCLUDE_PATH is set to /usr/local/cuda-11.7/include/CL CPU_LIBRARY_PATH is set to /usr/local/cuda-11.7/lib64 GPU_INCLUDE_PATH is set to /usr/local/cuda-11.7/include GPU_LIBRARY_PATH is set to /usr/local/cuda-11.7/lib64 ./stringify_ocl_krnls.sh Stringified input header files: ./common/defines.h ./common/calcenergy_basic.h Stringified input non-kernel files: ./device/auxiliary_genetic.cl ./device/calcenergy.cl ./device/calcgradient.cl ./device/calcMergedEneGra.cl Stringified input kernel-files: ./device/kernel1.cl ./device/kernel2.cl ./device/kernel4.cl ./device/kernel3.cl ./device/kernel_sd.cl ./device/kernel_fire.cl ./device/kernel_ad.cl Stringified output file: host/inc/stringify.h ln -sf performdocking.h.OpenCL ./host/inc/performdocking.h ln -sf performdocking.cpp.OpenCL ./host/src/performdocking.cpp Building autodock_gpu_256wi ... g++ \ ./wrapcl/src/BufferObjects.cpp ./wrapcl/src/CommandQueues.cpp ./wrapcl/src/Programs.cpp ./wrapcl/src/Kernels.cpp ./wrapcl/src/Devices.cpp ./wrapcl/src/ImportSource.cpp ./wrapcl/src/Platforms.cpp ./wrapcl/src/Contexts.cpp ./wrapcl/src/ImportBinary.cpp ./wrapcl/src/listAttributes.cpp ./host/src/calcenergy.cpp ./host/src/getparameters.cpp ./host/src/main.cpp ./host/src/miscellaneous.cpp ./host/src/performdocking.cpp ./host/src/processgrid.cpp ./host/src/processligand.cpp ./host/src/processresult.cpp ./host/src/setup.cpp \ -std=c++11 -I./common -I./wrapcl/inc -I./host/inc -I./device -I/usr/local/cuda-11.7/include -L/usr/local/cuda-11.7/lib64 -DVERSION=\"v1.5-release\" \ -lOpenCL \ -o./bin/autodock_gpu_256wi \ -DGPU_DEVICE -DN256WI -O3 -DKRNL_SOURCE=./device/calcenergy.cl -DKRNL_DIRECTORY=./device -DKCMN_DIRECTORY=./common -DK1="gpu_calc_initpop" -DK2="gpu_sum_evals" -DK3="perform_LS" -DK4="gpu_gen_and_eval_newpops" -DK5="gradient_minSD" -DK6="gradient_minFire" -DK7="gradient_minAD"

But if I try to run the compiled program, it does not work: ./autodock_gpu_256wi -L ../acarbose_pubchem_minimized.pdbqt -M ../aGluc_3top_md_first_frame.maps.fld --nrun 50 AutoDock-GPU version: v1.5-release Running 1 docking calculation Kernel source used for development: ./device/calcenergy.cl Kernel string used for building: ./host/inc/stringify.h Kernel compilation flags: -I ./device -I ./common -DN256WI -cl-mad-enable Error: clGetPlatformIDs(): -1001

On Ubuntu 20.04 LTS I set the environment variables of the file .bashrc in home as:

Setting CUDA for AutoDock-GPU

export CUDAROOT=/usr/local/cuda-11.7 export GPU_INCLUDE_PATH=$CUDAROOT/include export GPU_LIBRARY_PATH=$CUDAROOT/lib64 export CPU_INCLUDE_PATH=$CUDAROOT/include/CL export CPU_LIBRARY_PATH=$CUDAROOT/lib64 The files compiled with DIVICE=GPU but the executable did not work.

Then I tried something slightly different on Ubuntu 22.04 LTS:

Setting environment variables for ADGPU

export CUDAROOT=/usr/local/cuda export PATH=$CUDAROOT/bin/:$PATH export GPU_INCLUDE_PATH=$CUDAROOT/include export GPU_LIBRARY_PATH=$CUDAROOT/lib64 The files did not compile, but again the program did not work.

Files:

aGluc_3top_md_first_frame.maps.zip

atillack commented 2 years ago

@randymojica Thank you for your very detailed issue post. Both nvcc: not found and Error: clGetPlatformIDs(): -1001 in the output indicate that something is still not quite working yet with the Cuda and/or Nvidia driver installation. What is the output of nvidia-smi?

Also, it looks like your second .bashrc should use export CUDAROOT=/usr/local/cuda-11.7 and with a bit of luck all that's needed additionally is export LD_LIBRARY_PATH="$CUDAROOT/lib64:$LD_LIBRARY_PATH" ;-)

randymojica commented 2 years ago

@atillack Thank you for your promp reply. The output from nvidia-smi, Ubuntu 22.04 LTS and Ubuntu 20.04 LTS, is adjunted in the images respectively: Ubuntu22 04LTSnvidia-smi Ubuntu20 04LTSnvidia-smi Also, after adding export PATH="$CUDAROOT/bin:$PATH" and export LD_LIBRARY_PATH="$CUDAROOT/lib64:$LD_LIBRARY_PATH" to the .bashrc file, now nvcc could be found and there is progress in the compilation, but it gets stuck in another error:

rm -f ./host/inc/performdocking.h ./host/src/performdocking.cpp Building adgpu_analysis ... g++ \ ./host/src/calcenergy.cpp ./host/src/getparameters.cpp ./host/src/main.cpp ./host/src/miscellaneous.cpp ./host/src/processgrid.cpp ./host/src/processligand.cpp ./host/src/processresult.cpp ./host/src/setup.cpp \ -std=c++11 -I./common -I./host/inc -DVERSION=\"v1.5-release\" \ -o./bin/adgpu_analysis \ -O3 -DTOOLMODE DEVICE is set to GPU CPU_INCLUDE_PATH is undefined CPU_LIBRARY_PATH is undefined GPU_INCLUDE_PATH is set to /usr/local/cuda-11.7/include GPU_LIBRARY_PATH is set to /usr/local/cuda-11.7/lib64 nvcc -DN256WI -use_fast_math --ptxas-options="-v" -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70 -std=c++11 -I./common -I./host/inc -I/usr/local/cuda-11.7/include -I./cuda -c ./cuda/kernels.cu ptxas info : 0 bytes gmem, 288 bytes cmem[3] ptxas info : Compiling entry function '_Z27gpu_gradient_minAdamkernelPfS' for 'sm_52' ptxas info : Function properties for _Z27gpu_gradient_minAdamkernelPfS 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 64 registers, 7416 bytes smem, 336 bytes cmem[0], 112 bytes cmem[2] ptxas info : Compiling entry function '_Z25gpu_gradient_minADkernelPfS' for 'sm_52' ptxas info : Function properties for _Z25gpu_gradient_minADkernelPfS 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 64 registers, 7428 bytes smem, 336 bytes cmem[0], 120 bytes cmem[2] ptxas info : Compiling entry function '_Z31gpu_gen_and_eval_newpops_kernelPfS_SS' for 'sm_52' ptxas info : Function properties for _Z31gpu_gen_and_eval_newpops_kernelPfS_SS 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 48 registers, 3672 bytes smem, 352 bytes cmem[0], 44 bytes cmem[2] ptxas info : Compiling entry function '_Z21gpu_perform_LSkernelPfS' for 'sm_52' ptxas info : Function properties for _Z21gpu_perform_LSkernelPfS 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 48 registers, 4112 bytes smem, 336 bytes cmem[0], 44 bytes cmem[2] ptxas info : Compiling entry function '_Z20gpu_sum_evals_kernelv' for 'sm_52' ptxas info : Function properties for _Z20gpu_sum_evals_kernelv 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 13 registers, 4 bytes smem, 320 bytes cmem[0] ptxas info : Compiling entry function '_Z23gpu_calc_initpopkernelPfS' for 'sm_52' ptxas info : Function properties for _Z23gpu_calc_initpopkernelPfS 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 48 registers, 3076 bytes smem, 336 bytes cmem[0], 36 bytes cmem[2] ptxas info : 0 bytes gmem, 288 bytes cmem[3] ptxas info : Compiling entry function '_Z27gpu_gradient_minAdamkernelPfS' for 'sm_60' ptxas info : Function properties for _Z27gpu_gradient_minAdamkernelPfS 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 64 registers, 7416 bytes smem, 336 bytes cmem[0], 112 bytes cmem[2] ptxas info : Compiling entry function '_Z25gpu_gradient_minADkernelPfS' for 'sm_60' ptxas info : Function properties for _Z25gpu_gradient_minADkernelPfS 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 64 registers, 7428 bytes smem, 336 bytes cmem[0], 120 bytes cmem[2] ptxas info : Compiling entry function '_Z31gpu_gen_and_eval_newpops_kernelPfS_SS' for 'sm_60' ptxas info : Function properties for _Z31gpu_gen_and_eval_newpops_kernelPfS_SS 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 48 registers, 3672 bytes smem, 352 bytes cmem[0], 44 bytes cmem[2] ptxas info : Compiling entry function '_Z21gpu_perform_LSkernelPfS' for 'sm_60' ptxas info : Function properties for _Z21gpu_perform_LSkernelPfS 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 48 registers, 4112 bytes smem, 336 bytes cmem[0], 44 bytes cmem[2] ptxas info : Compiling entry function '_Z20gpu_sum_evals_kernelv' for 'sm_60' ptxas info : Function properties for _Z20gpu_sum_evals_kernelv 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 13 registers, 4 bytes smem, 320 bytes cmem[0] ptxas info : Compiling entry function '_Z23gpu_calc_initpopkernelPfS' for 'sm_60' ptxas info : Function properties for _Z23gpu_calc_initpopkernelPfS 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 48 registers, 3076 bytes smem, 336 bytes cmem[0], 36 bytes cmem[2] ptxas info : 0 bytes gmem, 288 bytes cmem[3] ptxas info : Compiling entry function '_Z27gpu_gradient_minAdamkernelPfS' for 'sm_61' ptxas info : Function properties for _Z27gpu_gradient_minAdamkernelPfS 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 64 registers, 7416 bytes smem, 336 bytes cmem[0], 112 bytes cmem[2] ptxas info : Compiling entry function '_Z25gpu_gradient_minADkernelPfS' for 'sm_61' ptxas info : Function properties for _Z25gpu_gradient_minADkernelPfS 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 64 registers, 7428 bytes smem, 336 bytes cmem[0], 120 bytes cmem[2] ptxas info : Compiling entry function '_Z31gpu_gen_and_eval_newpops_kernelPfS_SS' for 'sm_61' ptxas info : Function properties for _Z31gpu_gen_and_eval_newpops_kernelPfS_SS 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 48 registers, 3672 bytes smem, 352 bytes cmem[0], 44 bytes cmem[2] ptxas info : Compiling entry function '_Z21gpu_perform_LSkernelPfS' for 'sm_61' ptxas info : Function properties for _Z21gpu_perform_LSkernelPfS 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 48 registers, 4112 bytes smem, 336 bytes cmem[0], 44 bytes cmem[2] ptxas info : Compiling entry function '_Z20gpu_sum_evals_kernelv' for 'sm_61' ptxas info : Function properties for _Z20gpu_sum_evals_kernelv
0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 13 registers, 4 bytes smem, 320 bytes cmem[0] ptxas info : Compiling entry function '_Z23gpu_calc_initpopkernelPfS' for 'sm_61' ptxas info : Function properties for _Z23gpu_calc_initpopkernelPfS 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 48 registers, 3076 bytes smem, 336 bytes cmem[0], 36 bytes cmem[2] ptxas info : 0 bytes gmem, 288 bytes cmem[3] ptxas info : Compiling entry function '_Z27gpu_gradient_minAdamkernelPfS' for 'sm_70' ptxas info : Function properties for _Z27gpu_gradient_minAdamkernelPfS 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 64 registers, 7416 bytes smem, 368 bytes cmem[0] ptxas info : Compiling entry function '_Z25gpu_gradient_minADkernelPfS' for 'sm_70' ptxas info : Function properties for _Z25gpu_gradient_minADkernelPfS 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 64 registers, 7428 bytes smem, 368 bytes cmem[0] ptxas info : Compiling entry function '_Z31gpu_gen_and_eval_newpops_kernelPfS_SS' for 'sm_70' ptxas info : Function properties for _Z31gpu_gen_and_eval_newpops_kernelPfS_SS
0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 48 registers, 3672 bytes smem, 384 bytes cmem[0] ptxas info : Compiling entry function '_Z21gpu_perform_LSkernelPfS' for 'sm_70' ptxas info : Function properties for _Z21gpu_perform_LSkernelPfS 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 48 registers, 4112 bytes smem, 368 bytes cmem[0] ptxas info : Compiling entry function '_Z20gpu_sum_evals_kernelv' for 'sm_70' ptxas info : Function properties for _Z20gpu_sum_evals_kernelv 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 15 registers, 4 bytes smem, 352 bytes cmem[0] ptxas info : Compiling entry function '_Z23gpu_calc_initpopkernelPfS' for 'sm_70' ptxas info : Function properties for _Z23gpu_calc_initpopkernelPfS 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 48 registers, 3076 bytes smem, 368 bytes cmem[0] ln -sf performdocking.h.Cuda ./host/inc/performdocking.h ln -sf performdocking.cpp.Cuda ./host/src/performdocking.cpp Building autodock_gpu_256wi ... g++ \ ./host/src/calcenergy.cpp ./host/src/getparameters.cpp ./host/src/main.cpp ./host/src/miscellaneous.cpp ./host/src/performdocking.cpp ./host/src/processgrid.cpp ./host/src/processligand.cpp ./host/src/processresult.cpp ./host/src/setup.cpp \ -std=c++11 -I./common -I./host/inc -I/usr/local/cuda-11.7/include -I./cuda -L/usr/local/cuda-11.7/lib64 -Wl,-rpath=/usr/local/cuda-11.7/lib64: -DVERSION=\"v1.5-release\" \ kernels.o -lcurand -lcudart \ -o./bin/autodock_gpu_256wi \ -DGPU_DEVICE -DN256WI -O3 /home/randy/anaconda3/envs/AmberTools21/bin/../lib/gcc/x86_64-conda-linux-gnu/10.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/cuda-11.7/lib64/libcurand.so: undefined reference to memcpy@GLIBC_2.14' /home/randy/anaconda3/envs/AmberTools21/bin/../lib/gcc/x86_64-conda-linux-gnu/10.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/cuda-11.7/lib64/libcudart.so: undefined reference toclock_gettime@GLIBC_2.17' collect2: error: ld returned 1 exit status make: [Makefile.Cuda:199: odock] Error 1***

atillack commented 2 years ago

@randymojica This looks like you might be using your conda environment's compiler tool chain which seems to clash with WSL's Ubuntu - can you try to deactivate it and compile with Ubuntu's toolchain?

atillack commented 2 years ago

One more note, it seems that OpenCL is still not working in WSL, so compiling the Cuda version is the way to go: https://github.com/microsoft/WSL/issues/6951

atillack commented 2 years ago

@randymojica And one more thing as I am sure you will get things to compile soon - as your GPU is Ampere-based you need to use TARGETS="86" in your make command.

randymojica commented 2 years ago

@atillack Thank you again for your kind advices. It was just as you said. The compiler GCC from one of my conda environment was interfering with the one from the OS.

To fix the clashing I activated that conda environment and removed its GCC package with conda remove gcc_linux-64. Confirmed that gcc was loading from the OS with which gcc and got the output /usr/bin/gcc.

Compilation

With this, the command make DEVICE=CUDA NUMWI=256 TARGETS="86" compiled AutoDock-GPU succesfully, generating this:

rm -f ./host/inc/performdocking.h ./host/src/performdocking.cpp Building adgpu_analysis ... . . . Building autodock_gpu_256wi ... g++ \ ./host/src/calcenergy.cpp ./host/src/getparameters.cpp ./host/src/main.cpp ./host/src/miscellaneous.cpp ./host/src/performdocking.cpp ./host/src/processgrid.cpp ./host/src/processligand.cpp ./host/src/processresult.cpp ./host/src/setup.cpp \ -std=c++11 -I./common -I./host/inc -I/usr/local/cuda-11.7/include -I./cuda -L/usr/local/cuda-11.7/lib64 -Wl,-rpath=/usr/local/cuda-11.7/lib64: -DVERSION=\"v1.5-release\" \ kernels.o -lcurand -lcudart \ -o./bin/autodock_gpu_256wi \ -DGPU_DEVICE -DN256WI -O3

Test

To test if AutoDock-GPU was working I tried again the command ./autodock_gpu_256wi -L ../acarbose_pubchem_minimized.pdbqt -M ../aGluc_3top_md_first_frame.maps.fld --nrun 50, and got:

AutoDock-GPU version: v1.5-release

Running 1 docking calculation

Cuda device: NVIDIA GeForce RTX 3050 Ti Laptop GPU Available memory on device: 3313 MB (total: 4095 MB)

CUDA Setup time 0.359770s

Running Job #1 Using heuristics: (capped) number of evaluations set to 8262476 Warning: The set number of evals is 31.15% of the uncapped heuristics estimate of 26528180 evals. This means this docking may not be able to converge. Increasing --heurmax may improve convergence but will also increase runtime. AutoStop will not stop before 25.64% (2118269) of the set number of evaluations. Local-search chosen method is: ADADELTA (ad)

Rest of Setup time 0.015047s

Executing docking runs, stopping automatically after either reaching 0.15 kcal/mol standard deviation of the best molecules of the last 4 * 5 generations, 42000 generations, or 8262476 evaluations:

Generations | Evaluations | Threshold | Average energy of best 10% | Samples | Best energy ------------+--------------+------------------+------------------------------+---------+------------------- 0 | 150 | 6158.81 kcal/mol | 1982.85 +/- 1113.59 kcal/mol | 4 | 721.73 kcal/mol 5 | 39418 | 6158.81 kcal/mol | 448.71 +/- 800.45 kcal/mol | 1245 | -22.20 kcal/mol 10 | 79702 | 458.35 kcal/mol | -17.41 +/- 1.82 kcal/mol | 281 | -22.43 kcal/mol 15 | 121739 | -17.32 kcal/mol | -21.58 +/- 0.65 kcal/mol | 24 | -22.99 kcal/mol 20 | 163911 | -21.17 kcal/mol | -23.11 +/- 0.40 kcal/mol | 9 | -23.64 kcal/mol 25 | 206285 | -22.43 kcal/mol | -23.55 +/- 0.16 kcal/mol | 6 | -23.75 kcal/mol 30 | 247407 | -23.15 kcal/mol | -23.64 +/- 0.09 kcal/mol | 7 | -23.75 kcal/mol 35 | 288172 | -23.43 kcal/mol | -23.66 +/- 0.13 kcal/mol | 8 | -23.91 kcal/mol 40 | 328553 | -23.41 kcal/mol | -23.91 +/- 0.14 kcal/mol | 6 | -24.04 kcal/mol 45 | 367927 | -23.56 kcal/mol | -23.84 +/- 0.13 kcal/mol | 6 | -24.04 kcal/mol 50 | 407733 | -23.52 kcal/mol | -23.85 +/- 0.21 kcal/mol | 7 | -24.23 kcal/mol 55 | 447110 | -23.40 kcal/mol | -23.78 +/- 0.23 kcal/mol | 12 | -24.38 kcal/mol 60 | 487076 | -23.49 kcal/mol | -24.21 +/- 0.17 kcal/mol | 5 | -24.38 kcal/mol 65 | 527704 | -23.70 kcal/mol | -24.19 +/- 0.19 kcal/mol | 4 | -24.38 kcal/mol 70 | 568736 | -23.48 kcal/mol | -24.19 +/- 0.20 kcal/mol | 6 | -24.38 kcal/mol 75 | 610329 | -23.69 kcal/mol | -24.46 +/- 0.18 kcal/mol | 4 | -24.77 kcal/mol 80 | 652337 | -23.77 kcal/mol | -24.38 +/- 0.20 kcal/mol | 10 | -24.77 kcal/mol 85 | 694824 | -24.07 kcal/mol | -24.41 +/- 0.19 kcal/mol | 14 | -24.77 kcal/mol 90 | 736820 | -24.21 kcal/mol | -24.40 +/- 0.14 kcal/mol | 10 | -24.77 kcal/mol 95 | 778616 | -24.20 kcal/mol | -24.37 +/- 0.14 kcal/mol | 13 | -24.77 kcal/mol 100 | 820724 | -24.20 kcal/mol | -24.50 +/- 0.18 kcal/mol | 16 | -24.86 kcal/mol 105 | 864439 | -24.33 kcal/mol | -24.46 +/- 0.14 kcal/mol | 17 | -24.86 kcal/mol 110 | 907893 | -24.33 kcal/mol | -24.52 +/- 0.15 kcal/mol | 14 | -24.86 kcal/mol 115 | 951478 | -24.36 kcal/mol | -24.52 +/- 0.14 kcal/mol | 16 | -24.86 kcal/mol 120 | 995719 | -24.40 kcal/mol | -24.57 +/- 0.15 kcal/mol | 8 | -24.86 kcal/mol 125 | 1039459 | -24.29 kcal/mol | -24.51 +/- 0.17 kcal/mol | 19 | -24.86 kcal/mol 130 | 1083188 | -24.37 kcal/mol | -24.85 +/- 0.20 kcal/mol | 6 | -25.27 kcal/mol 135 | 1127607 | -24.35 kcal/mol | -24.61 +/- 0.21 kcal/mol | 18 | -25.27 kcal/mol 140 | 1172441 | -24.44 kcal/mol | -24.80 +/- 0.18 kcal/mol | 10 | -25.27 kcal/mol 145 | 1217037 | -24.53 kcal/mol | -24.85 +/- 0.22 kcal/mol | 10 | -25.27 kcal/mol 150 | 1261988 | -24.52 kcal/mol | -24.77 +/- 0.19 kcal/mol | 14 | -25.27 kcal/mol 155 | 1308080 | -24.57 kcal/mol | -24.80 +/- 0.17 kcal/mol | 13 | -25.27 kcal/mol 160 | 1354499 | -24.60 kcal/mol | -24.83 +/- 0.19 kcal/mol | 8 | -25.27 kcal/mol 165 | 1400461 | -24.48 kcal/mol | -24.73 +/- 0.17 kcal/mol | 18 | -25.27 kcal/mol 170 | 1446976 | -24.59 kcal/mol | -24.83 +/- 0.22 kcal/mol | 19 | -25.27 kcal/mol 175 | 1493868 | -24.66 kcal/mol | -24.82 +/- 0.17 kcal/mol | 11 | -25.27 kcal/mol 180 | 1540283 | -24.59 kcal/mol | -24.80 +/- 0.14 kcal/mol | 17 | -25.27 kcal/mol 185 | 1586311 | -24.68 kcal/mol | -24.85 +/- 0.16 kcal/mol | 9 | -25.27 kcal/mol 190 | 1632297 | -24.58 kcal/mol | -24.85 +/- 0.11 kcal/mol | 17 | -25.27 kcal/mol 195 | 1678416 | -24.75 kcal/mol | -24.95 +/- 0.17 kcal/mol | 12 | -25.32 kcal/mol 200 | 1725408 | -24.73 kcal/mol | -24.94 +/- 0.19 kcal/mol | 10 | -25.32 kcal/mol 205 | 1772942 | -24.65 kcal/mol | -24.90 +/- 0.15 kcal/mol | 19 | -25.32 kcal/mol 210 | 1820835 | -24.78 kcal/mol | -24.91 +/- 0.15 kcal/mol | 17 | -25.32 kcal/mol 215 | 1868420 | -24.78 kcal/mol | -24.93 +/- 0.15 kcal/mol | 14 | -25.32 kcal/mol 220 | 1915477 | -24.77 kcal/mol | -24.91 +/- 0.15 kcal/mol | 19 | -25.32 kcal/mol 225 | 1963736 | -24.79 kcal/mol | -24.95 +/- 0.18 kcal/mol | 14 | -25.32 kcal/mol 230 | 2012237 | -24.76 kcal/mol | -24.91 +/- 0.16 kcal/mol | 19 | -25.32 kcal/mol 235 | 2060564 | -24.78 kcal/mol | -24.96 +/- 0.17 kcal/mol | 20 | -25.32 kcal/mol 240 | 2108431 | -24.83 kcal/mol | -25.04 +/- 0.16 kcal/mol | 11 | -25.32 kcal/mol 245 | 2156071 | -24.82 kcal/mol | -24.99 +/- 0.14 kcal/mol | 13 | -25.32 kcal/mol ------------+--------------+------------------+------------------------------+---------+-------------------

                               Finished evaluation after reaching
                              -24.96 +/-    0.17 kcal/mol combined.
                            63 samples, best energy   -25.32 kcal/mol.

Docking time 32.071513s

Shutdown time 0.000865s

Job #1 took 32.087 sec after waiting 0.522 sec for setup

Run time of entire job set (1 file): 32.881 sec Processing time: 0.272 sec

All jobs ran without errors.

atillack commented 2 years ago

@randymojica Thank you and I am happy it's working for you now.

tobigithub commented 1 year ago

Compilation of Auto-Dock GPU under WSL2 (Ubuntu)

1) sudo apt install nvidia-cuda-toolkit
2) set envs:

# set GPU paths
export GPU_INCLUDE_PATH=/usr/local/cuda/include
export GPU_LIBRARY_PATH=/usr/local/cuda/lib64

# set cudaroot
export CUDAROOT=/usr/local/cuda-11.7
export LD_LIBRARY_PATH="$CUDAROOT/lib64:$LD_LIBRARY_PATH"

# set path for nvcc (Cuda compiler tools need to match cuda version)
export LD_LIBRARY_PATH="/usr/local/cuda-11.7/lib64:$LD_LIBRARY_PATH"
export PATH="/usr/local/cuda-11.7/bin:$PATH"

3) compile
make DEVICE=CUDA NUMWI=64 TARGETS="86" 

and example run

user@here:~/AutoDock-GPU$ ./autodock_gpu_64wi --lfile input/3ce3/derived/3ce3_ligand.pdbqt --ffile input/3ce3/derived/3ce3_protein.maps.fld
AutoDock-GPU version: v1.5-release

Running 1 docking calculation

Cuda device:                              NVIDIA RTX A3000 Laptop GPU
Available memory on device:               5142 MB (total: 6143 MB)

CUDA Setup time 0.441417s

Running Job #1
    Using heuristics: (capped) number of evaluations set to 1132076
    Local-search chosen method is: ADADELTA (ad)

Rest of Setup time 0.006261s

Executing docking runs, stopping automatically after either reaching 0.15 kcal/mol standard deviation of
the best molecules of the last 4 * 5 generations, 42000 generations, or 1132076 evaluations:

Generations |  Evaluations |     Threshold    |  Average energy of best 10%  | Samples |    Best energy
------------+--------------+------------------+------------------------------+---------+-------------------
          0 |          150 |362024.62 kcal/mol |143805.03 +/-72739.86 kcal/mol |       5 | 1520.92 kcal/mol
          5 |        28840 |362024.62 kcal/mol |38017.91 +/-62099.14 kcal/mol |     263 |  -14.05 kcal/mol
         10 |        56155 |41559.69 kcal/mol |   50.64 +/-  133.04 kcal/mol |     163 |  -14.15 kcal/mol
         15 |        83869 |   62.88 kcal/mol |  -14.05 +/-    0.09 kcal/mol |       6 |  -14.22 kcal/mol
         20 |       112680 |  -13.83 kcal/mol |  -14.13 +/-    0.18 kcal/mol |      19 |  -14.52 kcal/mol
         25 |       142453 |  -13.99 kcal/mol |  -14.25 +/-    0.17 kcal/mol |      26 |  -14.56 kcal/mol
         30 |       173809 |  -14.15 kcal/mol |  -14.40 +/-    0.11 kcal/mol |      22 |  -14.56 kcal/mol
         35 |       207259 |  -14.33 kcal/mol |  -14.43 +/-    0.08 kcal/mol |      13 |  -14.56 kcal/mol
         40 |       243277 |  -14.35 kcal/mol |  -14.46 +/-    0.07 kcal/mol |      31 |  -14.56 kcal/mol
------------+--------------+------------------+------------------------------+---------+-------------------

                                   Finished evaluation after reaching
                                  -14.38 +/-    0.15 kcal/mol combined.
                                92 samples, best energy   -14.56 kcal/mol.

Docking time 0.530084s

Shutdown time 0.000633s

Job #1 took 0.537 sec after waiting 0.504 sec for setup

Run time of entire job set (1 file): 1.075 sec
Processing time: 0.034 sec

All jobs ran without errors.
user@here:~/AutoDock-GPU$