NCA-ADS - Software and Environment Management (6% of the exam) - Section 8.2
Manage dependencies.
Manage Python dependencies by declaring them in requirements files or Conda environment YAML files and resolving version conflicts before they reach production. Recognise how CUDA version compatibility constrains which RAPIDS and driver versions can coexist.
Practice question for this objective
lock_openFree sampleSoftware and Environment Managementeasy
Before installing RAPIDS, an engineer must confirm that the workstation's NVIDIA driver supports the CUDA version that the chosen RAPIDS build needs. Which command reports the installed driver along with the maximum CUDA version that driver can support?
Apip list, because it prints the CUDA runtime libraries bundled inside the active Python environment along with the host driver version.
Bconda info, because it summarises the conda installation and reports the GPU driver detected on the host machine.
Cnvidia-smi, because it queries the installed NVIDIA driver and reports the driver version along with the maximum CUDA version that driver supports.check_circle Correct
Dpython --version, because the interpreter version determines which CUDA-enabled RAPIDS builds the host driver will accept.
Use nvidia-smi to read the installed driver and the maximum CUDA version it supports before choosing a RAPIDS build. The CUDA version shown by nvidia-smi is the ceiling the installed driver supports, so checking it first tells the engineer whether a candidate RAPIDS build's CUDA requirement is satisfiable on this machine before any installation begins.
Why A is wrong: pip list shows installed Python packages in the environment, which can include CUDA wheels, but it reports nothing about the system NVIDIA driver or the CUDA version that driver supports.
Why B is wrong: conda info describes the conda configuration and channels, which is useful context, but it does not query the NVIDIA driver or report the driver's supported CUDA version.
Why C is correct: nvidia-smi talks to the installed driver and prints the driver version and the highest CUDA version it can support, which is exactly the compatibility check needed before selecting a RAPIDS build.
Why D is wrong: The Python version constrains which package builds you can install, but it says nothing about the GPU driver or its supported CUDA version, so it cannot perform the driver compatibility check.
Answers that look right on this material and are not. Each one is a distractor from a different question in the NCA-ADS bank for this domain.
pip with a plain requirements file, because it installs the latest version of every named package independently and lets each library pick its own build.
errorWhy it is wrong: pip is a valid Python installer, but a plain requirements file resolves each package largely on its own and does not co-solve the CUDA runtime libraries that RAPIDS depends on, so it is more prone to incompatible builds for GPU stacks.
A pip requirements.txt listing only the Python package names without version pins
errorWhy it is wrong: A requirements.txt without version pins allows pip to resolve any compatible release, making the environment non-deterministic across installs and unable to encode CUDA toolkit constraints, which Conda manages as a first-class dependency.
A Dockerfile that installs the same environment YAML, since building inside a container removes all variation in which transitive dependency versions the solver selects.
errorWhy it is wrong: Tempting because containers improve reproducibility overall, but a Dockerfile that runs the same loose solve can still resolve newer transitive versions at build time unless the solve itself is frozen.