
Follow the steps below to download and run the NVIDIA NIM inference microservice for this model on your infrastructure of choice.
Get API Key and Install the NIM Operator
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
Create a ImagePull Secrets
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>
Create a NIM Service
Ensure that a default StorageClass exists in the cluster. If none is present, create an appropriate StorageClass before proceeding.
NOTE:
- Select
model-sizebased on the model and GPU type as described here. - For example, change the
nvidia.com/gpu: 1based on the model and number of GPU requirements
apiVersion: 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
Test the Deployed NIM
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.