AutoDock-GPU

Follow this procedure to run AutoDock, an example of a community project including SYCL support.

  • Operating system: Ubuntu* 22.04

  • Hardware: Intel® Data Center Max GPUs

  • Software: Intel® oneAPI Base toolkit, Intel® oneAPI HPC toolkit

  • Time to complete: 15 minutes

For more information, see the AutoDock-GPU repository.

  1. Check whether the driver stack is installed.

    $ xpu-smi discovery
    

    The command should return at least one Intel® Data Center GPU Max device.

  2. Check whether the oneAPI toolkit is installed.

    Check if oneAPI toolkits are installed:

    $ apt list intel-basekit intel-hpckit
    

    Expected output

    Listing... Done
    intel-basekit/all,now 2023.2.0-49384 amd64 [installed]
    intel-hpckit/all,now 2023.2.0-49438 amd64 [installed]
    
  3. If you previously have not configured your environment, install the Ubuntu 22.04 graphics driver. See dgpu-docs for details.

    Note

    Access to Ubuntu repositories, such as https://repositories.intel.com and https://apt.repos.intel.com, is required for installation. If proxy settings involve changes to environment variables such as http_proxy or https_proxy, small modifications are required in the following steps, such as adding -E (preserve environment) to sudo commands.

  4. If you previously have not configured your environment, enable access to the Intel repo serving the oneAPI packages and install the oneAPI Base toolkit and HPC toolkit for Ubuntu 22.04.

    wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \ | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
    echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo  tee /etc/apt/sources.list.d/oneAPI.list
    sudo apt update
    
    sudo apt install -y intel-basekit intel-hpckit
    
  5. Build AutoDock.

    git clone https://github.com/emascarenhas/AutoDock-GPU.git
    cd AutoDock-GPU/
    source /opt/intel/oneapi/setvars.sh
    make DEVICE=XeGPU NUMWI=64
    
  6. Run AutoDock.

    ./bin/autodock_xegpu_64wi -ffile ./input/1stp/derived/1stp_protein.maps.fld --lfile ./input/1stp/derived/1stp_ligand.pdbqt
    

For more information, see usage instructions.

The following example presents a result snapshot from Intel® Data Center GPU Max 1550:

Running 1 docking calculation

XeGPU device:                              Intel(R) Data Center GPU Max 1550 (#1 / 6)

Available memory on device:               131072 MB (total: 131072 MB)

xPU Setup time 0.000173s

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

Rest of Setup time 1.110014s

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 |  194.55 kcal/mol |  117.36 +/-   20.58 kcal/mol |       4 |   91.69 kcal/mol
          5 |        29795 |  194.55 kcal/mol |    7.43 +/-   27.52 kcal/mol |     123 |   -9.06 kcal/mol
         10 |        56772 |   10.79 kcal/mol |   -8.95 +/-    0.21 kcal/mol |      10 |   -9.47 kcal/mol
         15 |        83098 |   -8.65 kcal/mol |   -9.43 +/-    0.19 kcal/mol |       8 |   -9.63 kcal/mol
         20 |       108845 |   -9.08 kcal/mol |   -9.52 +/-    0.16 kcal/mol |       5 |   -9.77 kcal/mol
         25 |       134752 |   -9.02 kcal/mol |   -9.54 +/-    0.16 kcal/mol |      17 |   -9.87 kcal/mol
         30 |       160782 |   -9.40 kcal/mol |   -9.59 +/-    0.19 kcal/mol |       7 |   -9.91 kcal/mol
         35 |       186577 |   -9.17 kcal/mol |   -9.46 +/-    0.22 kcal/mol |      17 |   -9.94 kcal/mol
         40 |       212506 |   -9.27 kcal/mol |   -9.66 +/-    0.16 kcal/mol |      16 |   -9.95 kcal/mol
         45 |       238004 |   -9.51 kcal/mol |   -9.78 +/-    0.13 kcal/mol |       7 |   -9.95 kcal/mol
         50 |       263476 |   -9.50 kcal/mol |   -9.82 +/-    0.12 kcal/mol |      10 |   -9.99 kcal/mol
         55 |       289158 |   -9.64 kcal/mol |   -9.83 +/-    0.09 kcal/mol |      13 |  -10.01 kcal/mol
         60 |       314687 |   -9.73 kcal/mol |   -9.91 +/-    0.09 kcal/mol |      14 |  -10.01 kcal/mol
         65 |       340233 |   -9.82 kcal/mol |   -9.93 +/-    0.07 kcal/mol |      11 |  -10.02 kcal/mol
         70 |       365733 |   -9.73 kcal/mol |   -9.91 +/-    0.09 kcal/mol |       9 |  -10.02 kcal/mol
         75 |       391608 |   -9.76 kcal/mol |   -9.90 +/-    0.07 kcal/mol |      13 |  -10.02 kcal/mol
         80 |       417188 |   -9.73 kcal/mol |   -9.95 +/-    0.07 kcal/mol |      10 |  -10.02 kcal/mol
------------+--------------+------------------+------------------------------+---------+-------------------

                                   Finished evaluation after reaching
                                   -9.92 +/-    0.08 kcal/mol combined.
                                43 samples, best energy   -10.02 kcal/mol.

...

All jobs ran without errors.