Conversation
wdconinc
left a comment
There was a problem hiding this comment.
Looks sensible. Maybe there's a risk this will enable cuda_arch and therefore +cuda for packages where we currently don't explicitly enable +cuda, but would that be a bad thing?
There was a problem hiding this comment.
Pull request overview
This PR centralizes the CUDA compute capability setting for the Spack CUDA-related environments by introducing a shared cuda_arch.yaml include and removing per-spec cuda_arch=75 pins.
Changes:
- Add a new
spack-environment/cuda_arch.yamland include it from CUDA/TensorFlow environments. - Remove explicit
cuda_arch=75from CUDA-enabled specs inspack-environment/cuda/spack.yaml. - Remove explicit
cuda_arch=75from the TensorFlow CUDA spec inspack-environment/tf/spack.yaml.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| spack-environment/tf/spack.yaml | Includes centralized CUDA arch config; drops per-spec cuda_arch=75 on TensorFlow. |
| spack-environment/cuda/spack.yaml | Includes centralized CUDA arch config; drops per-spec cuda_arch=75 on multiple CUDA specs. |
| spack-environment/cuda_arch.yaml | New shared config intended to define CUDA architecture in one place. |
You can also share your feedback on Copilot code review. Take the survey.
a2a5c45 to
fb1f6fb
Compare
|
Appears to propagate the |
Co-authored-by: wdconinc <4656391+wdconinc@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: wdconinc <4656391+wdconinc@users.noreply.github.com>
Agent-Logs-Url: https://github.com/eic/containers/sessions/517a8f8f-813c-4b04-b3e6-6a183d00580e Co-authored-by: wdconinc <4656391+wdconinc@users.noreply.github.com>
a6e30a4 to
84f177a
Compare
| - build_system=cmake | ||
| - build_type=Release | ||
| - when: '+cuda' | ||
| spec: cuda_arch=75 | ||
| require: |
There was a problem hiding this comment.
The PR description says cuda_arch=75 is added as a conditional requirement (and the file header notes the preferred require: any_of: [...] pattern for optional variants), but the change adds a conditional spec: cuda_arch=75 entry under packages:all:prefer and does not mirror it in packages:all:require. This may not have the intended effect and diverges from the established pattern used for other global constraints (e.g., build_system / build_type use require: any_of: [...]). Consider moving/duplicating this into require using the existing any_of: [cuda_arch=75, '@:'] style so it applies consistently while remaining a no-op for packages that don't support cuda_arch.
| - acts +cuda | ||
| - actsvg | ||
| - afterburner | ||
| - arrow +cuda cuda_arch=75 | ||
| - arrow +cuda |
There was a problem hiding this comment.
This environment still hard-codes cuda_arch=75 for g4adept later in the same specs: list (g4adept +cuda cuda_arch=75). If the goal is to centralize the CUDA architecture, consider removing the remaining inline cuda_arch from g4adept as well (or documenting why it needs to stay explicitly set).
Wait for:
cuda_arch=75was duplicated across 5 package specs incuda/spack.yamlandtf/spack.yaml, making it hard to retarget GPU architecture.Changes
spack-environment/packages.yaml: Addedcuda_arch=75as a conditional requirement inpackages: all: requirewithwhen: '+cuda', so it applies to all CUDA-enabled packages without affecting CPU-only packages.cuda/spack.yamlandtf/spack.yaml: Drop inlinecuda_arch=75fromacts,arrow,celeritas,py-torch, andpy-tensorflowspecs.To target a different GPU architecture (currently Compute Capability 7.5 / Turing: T4, RTX 2xxx, Quadro RTX), change
cuda_arch=75in this single location.💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.
📍 Connect Copilot coding agent with Jira, Azure Boards or Linear to delegate work to Copilot in one click without leaving your project management tool.