Skip to content

CI: add QAIC Eager mode CI for v0.28 - #110

Draft
Loay Rashid (loayrash) wants to merge 21 commits into
qualcomm:dev/v0.28.0from
loayrash:eager-ci-rebased-v028
Draft

Loay Rashid (loayrash) wants to merge 21 commits into
qualcomm:dev/v0.28.0from
loayrash:eager-ci-rebased-v028

Conversation

@loayrash

@loayrash Loay Rashid (loayrash) commented Sep 2, 2026

Copy link
Copy Markdown

Adds the QAIC eager CI. After #98 and #104, all the tests pass as-is.

Merge in this order: #98 -> #104 -> #110. This PR is stacked directly on #104 and #98. After both merge, this PR reduces to the CI-only changes.

Signed-off-by: Sanidhya Singal <sanising@qti.qualcomm.com>
Signed-off-by: Sanidhya Singal <sanising@qti.qualcomm.com>
Signed-off-by: Sanidhya Singal <sanising@qti.qualcomm.com>
Signed-off-by: Sanidhya Singal <sanising@qti.qualcomm.com>
Signed-off-by: Sanidhya Singal <sanising@qti.qualcomm.com>
Signed-off-by: Sanidhya Singal <sanising@qti.qualcomm.com>
Signed-off-by: Sanidhya Singal <sanising@qti.qualcomm.com>
Signed-off-by: Sanidhya Singal <sanising@qti.qualcomm.com>
Signed-off-by: Sanidhya Singal <sanising@qti.qualcomm.com>
Signed-off-by: Sanidhya Singal <sanising@qti.qualcomm.com>
Signed-off-by: Sanidhya Singal <sanising@qti.qualcomm.com>
Signed-off-by: Sanidhya Singal <sanising@qti.qualcomm.com>
Signed-off-by: Sanidhya Singal <sanising@qti.qualcomm.com>
@loayrash
Loay Rashid (loayrash) marked this pull request as draft September 2, 2026 17:27
Signed-off-by: Loay Rashid <loayrash@qti.qualcomm.com>
Signed-off-by: Loay Rashid <loayrash@qti.qualcomm.com>
Add a dedicated PyTorch eager fasttest path and make shared E2E tests
select configuration appropriate to the active QAIC inference mode.

- Add a PyTorch eager fasttest script and --mode aot|pyt|all pipeline
  selection to install the requested mode, collect eligible E2E jobs, select
  QIDs, build source-tree QAIC kernels, and dispatch jobs through the scheduler.
- Add an opt-in --set-qaic-visible-devices scheduler flag that copies the
  parent environment and sets QAIC_VISIBLE_DEVICES to each job's assigned
  physical QIDs before its pytest subprocess starts.
- Ensure local QAIC ordinals resolve within the job's assigned device group,
  preventing torch_qaic's early device-map initialization from binding eager
  workers to physical QID 0.
- Extend qaic_test_config to support mode-specific AOT and eager settings, so
  eager tests do not inherit AOT quantization and KV-cache configuration.
- Allow test launchers and benchmark commands to omit --quantization when
  eager mode does not require one.
- Update E2E, API, benchmark, sampler, output-consistency, and LoRA tests
  with mode-specific configurations; exclude test_qaic_lora.py from the
  initial PyTorch fasttest.
- Keep dual-QPC multimodal coverage AoT-only because independent runners in
  one process still need separate local-ordinal binding work.
- Document mode-specific marker usage and ignore the generated ShareGPT test
  dataset file.

Signed-off-by: Loay Rashid <loayrash@qti.qualcomm.com>
Skip the Whisper OpenAI multimodal test in eager mode, where hybrid KV-cache handling is unsupported.

Signed-off-by: Loay Rashid <loayrash@qti.qualcomm.com>
Assign 8080 + job_id in the scheduler when a job does not explicitly provide --port, preventing parallel API-server jobs from racing for 8080.

Signed-off-by: Loay Rashid <loayrash@qti.qualcomm.com>
Signed-off-by: Loay Rashid <loayrash@qti.qualcomm.com>
Stop deriving ports from scheduler job IDs. CI
  leaves --port unset by default so the e2e fixture selects an ephemeral port at test runtime, while preserving explicit caller-supplied ports for manual runs.

Signed-off-by: Loay Rashid <loayrash@qti.qualcomm.com>
Signed-off-by: Loay Rashid <loayrash@qti.qualcomm.com>
@loayrash Loay Rashid (loayrash) changed the title CI: add QAIC PYT eager fasttests for v0.28 CI: add QAIC Eager mode CI for v0.28 Sep 2, 2026
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.

3 participants