NCA NVIDIA Software Stack & Developer Tools 2 — Questions and Answers
Question 1: What distinguishes NVIDIA Nsight Compute from NVIDIA Nsight Systems?
- Nsight Compute profiles system-wide CPU+GPU timelines; Nsight Systems analyzes individual kernel metrics
- Nsight Compute provides deep per-kernel GPU metrics; Nsight Systems delivers system-wide CPU+GPU timeline analysis (Correct answer)
- Both tools perform identical analysis but target different GPU generations
- Nsight Compute is for Windows only; Nsight Systems is cross-platform
Correct answer: Nsight Compute provides deep per-kernel GPU metrics; Nsight Systems delivers system-wide CPU+GPU timeline analysis
Nsight Compute is a GPU kernel profiler providing detailed hardware counter metrics per kernel, while Nsight Systems is a system-wide performance analyzer showing CPU, GPU, and memory activity over time.
Question 2: Which of the following is included in the NVIDIA CUDA Toolkit?
- Only the GPU driver and firmware
- Pre-trained deep learning models and datasets
- The nvcc compiler, cuBLAS, cuDNN, Nsight tools, and CUDA runtime libraries (Correct answer)
- Only the nvcc compiler with no additional libraries
Correct answer: The nvcc compiler, cuBLAS, cuDNN, Nsight tools, and CUDA runtime libraries
The CUDA Toolkit is a comprehensive development environment that includes the nvcc compiler, CUDA runtime, math libraries (cuBLAS, cuFFT, etc.), debugging and profiling tools, and sample code.
Question 3: What type of operations does the cuFFT library accelerate on NVIDIA GPUs?
- Federated Fine-Tuning of transformer models
- Fast Fourier Transform computations (Correct answer)
- File Format Translation between data types
- Floating-point Fault Tolerance checks
Correct answer: Fast Fourier Transform computations
cuFFT provides GPU-accelerated Fast Fourier Transform (FFT) routines compatible with the FFTW API, enabling signal processing and scientific computing workloads at high throughput.
Question 4: What is the role of nvcc in NVIDIA GPU development?
- A runtime daemon that schedules CUDA kernels on the GPU
- The NVIDIA CUDA compiler that compiles CUDA C/C++ source into GPU-executable binaries (Correct answer)
- A virtual machine for running CUDA code on CPUs
- A container orchestration tool for NGC images
Correct answer: The NVIDIA CUDA compiler that compiles CUDA C/C++ source into GPU-executable binaries
nvcc (NVIDIA CUDA Compiler) is the primary compilation tool in the CUDA Toolkit that separates device (GPU) code from host (CPU) code and compiles each with appropriate backends.
Question 5: Which capability makes NVIDIA Triton Inference Server particularly valuable for production AI deployments?
- It only supports TensorRT models for maximum performance
- It trains new models from raw datasets in the cloud
- It serves models from multiple frameworks (TensorRT, ONNX, PyTorch, TF) under a single standardized API (Correct answer)
- It provides GUI-based model visualization and debugging
Correct answer: It serves models from multiple frameworks (TensorRT, ONNX, PyTorch, TF) under a single standardized API
Triton Inference Server supports multiple model backends including TensorRT, ONNX Runtime, PyTorch TorchScript, TensorFlow, and Python, providing a single HTTP/gRPC serving API for all of them.
Question 6: What types of errors does the NVIDIA compute-sanitizer tool (formerly cuda-memcheck) detect?
- Python syntax errors in CUDA wrapper code
- Network packet loss during GPU-to-GPU data transfers
- GPU memory access violations, race conditions, and initialization errors in CUDA applications (Correct answer)
- Power supply fluctuations causing GPU instability
Correct answer: GPU memory access violations, race conditions, and initialization errors in CUDA applications
compute-sanitizer is a run-time error checking tool that detects out-of-bounds memory accesses, race conditions (via racecheck), memory leaks (memcheck), and uninitialized variable usage in CUDA kernels.
Question 7: What is CUDA-GDB primarily used for in GPU application development?
- Automated GPU benchmark generation
- Interactive debugging of CUDA applications at the thread and warp level (Correct answer)
- Graphical display of GPU memory bandwidth utilization
- Generating build dependency graphs for CUDA projects
Correct answer: Interactive debugging of CUDA applications at the thread and warp level
CUDA-GDB is an extension of the GNU Debugger (GDB) that allows developers to set breakpoints, inspect variables, and step through GPU kernel code at the thread and warp granularity.
What distinguishes NVIDIA Nsight Compute from NVIDIA Nsight Systems?