
Follow the steps below to download and run the NVIDIA NIM inference microservice for this model on your infrastructure of choice.
Install the NVIDIA GPU Operator
helm repo add nvidia https://helm.ngc.nvidia.com/nvidia \
&& helm repo update
helm install nim-operator nvidia/k8s-nim-operator --create-namespace -n nim-operator
kubectl create ns nim-service
kubectl create secret -n nim-service docker-registry ngc-secret \
--docker-server=nvcr.io \
--docker-username='$oauthtoken' \
--docker-password=<PASTE_API_KEY_HERE>
kubectl create secret -n nim-service generic ngc-api-secret \
--from-literal=NGC_API_KEY=<PASTE_API_KEY_HERE>
Ensure that a default StorageClass exists in the cluster. If none is present, create an appropriate StorageClass before proceeding.
NOTE:
model-size based on the model and GPU type as described here.nvidia.com/gpu: 1 based on the model and number of GPU requirementsapiVersion: apps.nvidia.com/v1alpha1
kind: NIMService
metadata:
name: diffdock
namespace: nim-service
spec:
image:
repository: nvcr.io/nim/mit/diffdock
tag: latest
pullPolicy: IfNotPresent
pullSecrets:
- ngc-secret
authSecret: ngc-api-secret
storage:
pvc:
create: true
size: "model-size"
volumeAccessMode: "ReadWriteOnce"
replicas: 1
resources:
limits:
nvidia.com/gpu: 1
expose:
service:
type: ClusterIP
port: 8000
kubectl run --rm -it -n default curl --image=ubuntu -- bash
apt update > /dev/null; apt install curl -y > /dev/null
protein_bytes=`curl -s https://files.rcsb.org/download/8G43.pdb | grep -E '^ATOM' | sed -z 's/\n/\\\n/g'`; \
ligand_bytes=`curl -s https://files.rcsb.org/ligands/download/ZU6_ideal.sdf | sed -z 's/\n/\\\n/g'`; \
echo "{
\"ligand\": \"${ligand_bytes}\",
\"ligand_file_type\": \"sdf\",
\"protein\": \"${protein_bytes}\",
\"num_poses\": 1,
\"time_divisions\": 20,
\"steps\": 18,
\"save_trajectory\": false,
\"is_staged\": false
}" > diffdock.json
curl --header "Content-Type: application/json" \
--request POST \
--data @diffdock.json \
--output output.json \
http://diffdock.nim-service:8000/molecular-docking/diffdock/generate
For more details on getting started with this NIM, visit the NVIDIA NIM Docs or NVIDIA NIM Operator Docs.