Configuration Alternatives at Runtime#

The OpenFold2 NIM allows alternative runtime configurations.

Start the OpenFold2 NIM#

To start the NIM:

export LOCAL_NIM_CACHE=~/.cache/nim

docker run --rm --name ${__container_name} \
    --runtime=nvidia \
    --gpus 'device=0' \
    -e NGC_API_KEY \
    -v $LOCAL_NIM_CACHE:/opt/nim/.cache \
    -p 8000:8000 \
    nvcr.io/${__ngc_location}/${__container_name}:${__container_version}

Notes:

  • The -p option sets the port for the NIM.

  • The -e options define the environment variables, which are passed into the NIM’s container at runtime.

  • --rm removes the container when it exists.

  • -it allows interacting with the container directly at the CLI.

Using an alternative port for OpenFold2 NIM requests#

If you have other HTTP servers running (for example, other NIMs), you may need to make the 8000 port available by using another port for your NIM. To use an alternative port:

  1. Change the exposed port by setting the -p option.

  2. Set the NIM_HTTP_API_PORT environment variable to the new port.

The following is an example of setting the NIM to run on port 7979:

export LOCAL_NIM_CACHE=/mount/largedisk/nim/.cache

docker run --rm --name ${__container_name} \
    --runtime=nvidia \
    --gpus 'device=0' \
    -e NGC_API_KEY \
    -e NIM_HTTP_API_PORT=7979 \ ## We must set the NIM_HTTP_API_PORT environment variable...
    -v $LOCAL_NIM_CACHE:/opt/nim/.cache \
    -p 7979:7979 \ ## as well as forward the port to host.
    nvcr.io/${__ngc_location}/${__container_name}:${__container_version}