Avoid device-to-host copy in `∇getindex!`
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tái cấu trúc
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- julia
- Lĩnh vực
- performance
Hướng nghiên cứu
Bắt đầu tại src/rulesets/Base/indexing.jl ở ∇getindex!(dx::AbstractGPUArray, dy, inds...), đặc biệt là quanh dòng 183. Hãy theo dõi cách triển khai hiện tại sao chép dữ liệu vào CPU, sau đó điều tra custom atomic kernel và extension path được đề xuất. Công việc được xem là hoàn tất khi thao tác GPU tránh được việc sao chép device-to-host và các lần đồng bộ liên quan.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Can we use custom kernel with atomics for ∇getindex!(dx::AbstractGPUArray, dy, inds...) instead of copying everything to CPU?
This way we'd be able to avoid synchronizations and we can add such kernel via extension
- Ngôn ngữ chính
- Julia
- Star
- 476
- Fork
- 99
- Merge trung bình
- 1 ngày 1 giờ
- Pull request đã merge (30 ngày)
- 5
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của JuliaDiff/ChainRules.jl
-
`rand(1:n, k)` inside a Zygote gradient errors since 1.74.3Có thể đã có người làm @devmotion đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 35/100
JuliaDiff/ChainRules.jl#854 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 55/100
JuliaDiff/ChainRules.jl#818 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
refactoring
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
JuliaDiff/ChainRules.jl#815 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
JuliaDiff/ChainRules.jl#810 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
stack overflow issueĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 30/100
JuliaDiff/ChainRules.jl#809 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của JuliaDiff/ChainRules.jl
Issue tương tự
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
bmad-sim/BeamTracking.jl#382 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Typo in the Adjoint sectionĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 86/100
-
Using the test generatorĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày