Skip to content

Static Linter tool EFA/NCCL container recipes - #1235

Open
gyaneshhere wants to merge 3 commits into
awslabs:mainfrom
gyaneshhere:main
Open

Static Linter tool EFA/NCCL container recipes#1235
gyaneshhere wants to merge 3 commits into
awslabs:mainfrom
gyaneshhere:main

Conversation

@gyaneshhere

@gyaneshhere gyaneshhere commented Aug 21, 2026

Copy link
Copy Markdown

Purpose

Static Linter tool for EFA/NCCL container recipes

Changes

2.ami_and_containers/tools/
├── README.md ← README.md
└── efa-nccl-doctor/
├── README.md ← README.md
├── efa-nccl-doctor.sh
└── selftest.sh

added tools README.md
Adding README.md for efa-nccl-doctor
efa-nccl-doctor.sh — a static linter for EFA/NCCL container recipes, with 11 checks (EFA001-004, NCCL001-004, ENV001-002, PIN001)
@gyaneshhere

gyaneshhere commented Aug 21, 2026

Copy link
Copy Markdown
Author

ami_and_containers/tools/ currently holds two tools
ec2md (IMDSv2 metadata walker) and sagemaker_ftp/find-ftp.sh (Flexible Training Plan finder).
There's no README for tools/ itself. So I added a README.md for tools

The repo contains 36 Dockerfiles that build EFA-enabled distributed-training containers. Across them:

6 distinct EFA_INSTALLER_VERSION values (1.29.1, 1.35.0, 1.37.0, 1.47.0 ×6, 1.48.0 ×4, 1.49.0 ×2)
6 distinct AWS_OFI_NCCL_VERSION values with inconsistent naming — 1.12.1-aws, v1.7.3-aws, v1.13.2-aws, 1.18.0, v1.19.0 — because upstream dropped the -aws suffix at v1.14.0
Only 15 of 36 pin an EFA version at all, despite CONTRIBUTING.md explicitly requiring fixed versions over latest

Every one of these misconfigurations fails in the way that matters most, the image builds, the job launches, and NCCL silently falls back to TCP.

What I built

efa-nccl-doctor.sh — a static linter for EFA/NCCL container recipes, with 11 checks (EFA001-004, NCCL001-004, ENV001-002, PIN001), an --inventory mode for spotting drift, --json, --strict for CI, and an offline default.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant