Deployment of NVIDIA Nemotron-3-Nano
NVIDIA Nemotron-3-Nano-4B is a compact large language model developed by NVIDIA for agentic AI tasks. It runs on GPUs using llama.cpp with full CUDA acceleration, enabling fast text generation and reasoning on a single Tesla T4 GPU. It exposes an OpenAI-compatible REST API, making it easy to integrate into any application.
Minimum Requirements for Nemotron-3-Nano-4B
Hardware Requirements
GPU
NVIDIA Tesla T4 (16GB VRAM)
A30 / RTX 4090 (24GB VRAM)
CUDA Compute Capability
>= 7.5
>= 8.0
VRAM
16GB
24GB+
System RAM
16GB
32GB+
Storage
20GB free
40GB+
Software Requirements
Ubuntu 24.04 (NeevCloud Ubuntu - Tesla T4 GPU image)
NVIDIA Driver >= 570
CUDA Toolkit 12.8
Python 3.12
HuggingFace Hub CLI (
hf)llama.cpp (built from source with CUDA)
tmux
Step 1: Create a Server on NeevCloud
Log in to the NeevCloud dashboard and navigate to Cloud > Servers > Create Server.
Configure the server with the following settings:
Location
Central India
Image
GPU Operating System > Ubuntu - Tesla T4
Hardware
GPU Enabled > Select a T4 flavor
Networking
Public
SSH Key
Select your existing SSH key
Click Create Server and wait for the status to show Active.

Step 2: Connect to the Server
Open a terminal or PowerShell and SSH into the server using the public IP shown on the server overview page.
You will see the Ubuntu 24.04 welcome prompt once connected.
Step 3: Verify the GPU
Run the following command to confirm the Tesla T4 is detected and the NVIDIA driver is active.

If the GPU details appear, continue to the next step. If not, the server may not have booted with the GPU image correctly. Contact NeevCloud support.
Step 4: Install System Dependencies
Update the package list and install all required build tools.
This installs the compiler toolchain, cmake build system, and supporting libraries required to build llama.cpp from source.
Step 5: Install HuggingFace CLI
Install the HuggingFace Hub CLI to download the model from the official NVIDIA repository.
Verify the installation. Note that the new CLI command is hf, not huggingface-cli.
If you see a deprecation warning for
huggingface-cli, this is expected. Usehffor all subsequent commands.
Step 6: Locate the CUDA Compiler
The NeevCloud Tesla T4 image ships with CUDA 12.8. The nvcc compiler must be found and added to PATH before building llama.cpp.
Expected output:
Set the required environment variables:
Verify the compiler is accessible:
These exports apply to the current SSH session only. They are made permanent in Step 9 via the systemd service configuration.
Step 7: Build llama.cpp with CUDA Support
Clone the llama.cpp repository and compile it with CUDA enabled. This step takes approximately 8 to 10 minutes.
Clone the repository:
Configure the build:
A successful configuration ends with:
If you see
No CMAKE_CUDA_COMPILER could be found, the environment variables from Step 6 were not set. Re-run those exports and retry.
Compile the server and CLI binaries:
Copy binaries to the main directory:
Verify the build:
Step 8: Download the Nemotron-3-Nano-4B Model
Create the model directory and download the Q4_K_M quantized GGUF from the official NVIDIA organization on HuggingFace.
Q4_K_M
2.7 GB
~3 GB
Good — recommended for T4
Q5_K_M
3.3 GB
~4 GB
Better
Q8_0
5.0 GB
~5.5 GB
Near-lossless
Verify the downloaded file:
Expected output:
Step 9: Launch the Model Server
Start a tmux session so the server continues running after you disconnect from SSH.
Launch llama-server inside the tmux session:
--model
Path to the downloaded GGUF file
--alias
Name used when calling the API
--port 8080
Port the API listens on
--host 0.0.0.0
Accept connections from any IP
--ctx-size 8192
Maximum context window per session (~6000 words)
--n-gpu-layers 99
Offload all layers to GPU for full acceleration
--temp 0.6
Temperature — 0.6 recommended by NVIDIA for chat
--top-p 0.95
Top-p sampling as recommended in NVIDIA documentation
The server is ready when you see:
Detach from tmux to keep the server running in the background:
Step 10: Verify the GPU is Being Used
Open a new SSH session and run:

The llama-server process should appear in the Processes section, with approximately 3000 MiB of VRAM consumed.
Step 11: Test the API
Send a test request from the server itself to confirm inference is working.
Basic chat test:
A successful response will contain:
json
Test from an external machine:
Replace <your-server-ip> with the public IP from the NeevCloud dashboard.
Step 12: Configure Auto-Start on Reboot (Systemd)
To ensure the model server starts automatically whenever the VM reboots, create a systemd service.
Enable and start the service:
Check the service status:
View live logs:
Reasoning Mode Control
Nemotron-3-Nano-4B supports toggling chain-of-thought reasoning via the system prompt. This is an official NVIDIA feature.
Reasoning OFF — faster responses, direct answers:
json
Reasoning ON — higher accuracy, model shows its thinking process:
json
Enabling reasoning generally produces higher-quality answers at the cost of more tokens generated. The
reasoning_contentfield in the response contains the internal thinking trace.
Performance Reference
Observed performance on NeevCloud Tesla T4 with Q4_K_M quantization:
Prompt evaluation speed
111 to 222 tokens/second
Generation speed
63 tokens/second
Total response time
~3.4 seconds for 232 tokens
VRAM consumed
~3000 MiB of 15360 MiB
Concurrent request slots
4
Context window
8192 tokens
GPU layer offload
99 of 99 (full GPU)
Troubleshooting
cmake fails with "No CMAKE_CUDA_COMPILER could be found"
The CUDA compiler path was not exported. Run the following and retry cmake:
pip install fails with "Cannot uninstall rich"
Add the --ignore-installed flag:
huggingface-cli command not found or deprecated
The new CLI name is hf. Use hf download instead of huggingface-cli download.
Server stops when SSH session closes
Always run the server inside a tmux session. To reattach to an existing session:
Alternatively, use the systemd service from Step 12 which survives disconnects and reboots.
Model responds with "I am Qwen" instead of Nemotron
This is known behavior. Nemotron-3-Nano-4B was trained on data derived from Qwen. Override the identity using the system prompt:
json
Ensure max_tokens is set to at least 200 to allow a complete response.
API returns connection refused from external machine
Confirm port 8080 is open in your NeevCloud Security Group. Navigate to Cloud > Networking > Security Groups and add an inbound rule for TCP port 8080.
Official Resources
NVIDIA Nemotron Research Page
Official Model on HuggingFace
NVIDIA Nemotron v3 Collection
llama.cpp Repository
NVIDIA Blog Post
Last updated