-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[buildkite] Add CI builds on GPUs #113
Merged
+117
−37
Merged
Changes from 4 commits
Commits
Show all changes
13 commits
Select commit
Hold shift + click to select a range
07db127
[buildkite] Add CI builds on GPUs
amontoison b8c8af2
Update pipeline.yml
amontoison d692fd9
Update pipeline.yml again
amontoison aa5da46
Remove self-hosted builds
amontoison 3ac10ca
Fix pipeline.yml
amontoison f9e42c1
Fix pipeline.yml
amontoison b733d1d
Update pipeline.yml
sshin23 598fc3f
Merge remote-tracking branch 'origin/main' into buildkite_ci
sshin23 cec9a13
env oneAPI
sshin23 ee52a55
is env an issue?
sshin23 5a58af0
Project.toml for test
sshin23 68e7a5b
project env
sshin23 85e0447
cleanup buildkite
sshin23 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
steps: | ||
- label: "Nvidia GPUs -- CUDA.jl" | ||
plugins: | ||
- JuliaCI/julia#v1: | ||
version: "1.10" | ||
agents: | ||
queue: "juliagpu" | ||
cuda: "*" | ||
env: | ||
EXAMODELS_TEST_CUDA: "TRUE" | ||
command: | | ||
julia --color=yes -e ' | ||
using Pkg | ||
Pkg.add("CUDA") | ||
Pkg.add("KernelAbstractions") | ||
Pkg.add("NLPModels") | ||
Pkg.develop(path=".") | ||
include("test/runtests.jl")' | ||
timeout_in_minutes: 30 | ||
|
||
- label: "AMD GPUs -- AMDGPU.jl" | ||
plugins: | ||
- JuliaCI/julia#v1: | ||
version: "1.10" | ||
agents: | ||
queue: "juliagpu" | ||
rocm: "*" | ||
rocmgpu: "*" | ||
env: | ||
EXAMODELS_TEST_AMDGPU: "TRUE" | ||
JULIA_NUM_THREADS: 4 | ||
JULIA_AMDGPU_CORE_MUST_LOAD: "1" | ||
JULIA_AMDGPU_HIP_MUST_LOAD: "1" | ||
JULIA_AMDGPU_DISABLE_ARTIFACTS: "1" | ||
command: | | ||
julia --color=yes -e ' | ||
using Pkg | ||
Pkg.add("AMDGPU") | ||
Pkg.add("KernelAbstractions") | ||
Pkg.add("NLPModels") | ||
Pkg.develop(path=".") | ||
include("test/runtests.jl")' | ||
timeout_in_minutes: 30 | ||
|
||
- label: "Intel GPUs -- oneAPI.jl" | ||
plugins: | ||
- JuliaCI/julia#v1: | ||
version: "1.10" | ||
agents: | ||
queue: "juliagpu" | ||
intel: "*" | ||
env: | ||
EXAMODELS_TEST_ONEAPI: "TRUE" | ||
command: | | ||
julia --color=yes -e ' | ||
using Pkg | ||
Pkg.add("oneAPI") | ||
Pkg.add("KernelAbstractions") | ||
Pkg.add("NLPModels") | ||
Pkg.develop(path=".") | ||
include("test/runtests.jl")' | ||
timeout_in_minutes: 30 | ||
|
||
# - label: "Apple M1 GPUs -- Metal.jl" | ||
# plugins: | ||
# - JuliaCI/julia#v1: | ||
# version: "1.10" | ||
# agents: | ||
# queue: "juliaecosystem" | ||
# os: "macos" | ||
# arch: "aarch64" | ||
# env: | ||
# EXAMODELS_TEST_METAL: "TRUE" | ||
# command: | | ||
# julia --color=yes --project -e ' | ||
# using Pkg | ||
# Pkg.develop(path=".") | ||
# Pkg.add("Metal") | ||
# Pkg.add("KernelAbstractions") | ||
# Pkg.instantiate() | ||
# include("test/runtests.jl")' | ||
# timeout_in_minutes: 30 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why was this necessary?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It depends on how you want to run the tests.
If you just want to use
runtests.jl
, we can modify it.But with the current
pipeline.yml
, we can also run specific and longer tests that target specific GPUs without environment variables.I did something similar in
Krylov.jl
, using buildkite to run GPU tests separately from CPU tests, which is recommended to avoid occupying the GPUs for too long, allowing other users and repositories to access them.