Remove closures for callable types
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 20/100
- Loại issue
- Tái cấu trúc
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- julia
- Lĩnh vực
- machine-learning
Hướng nghiên cứu
Bắt đầu bằng cách xác định các closure được sử dụng cho adjoints và xem xét cách kiểu của chúng thay đổi giữa các session. Tiếp đó, kiểm tra hành vi tiền biên dịch và suy luận của Julia đối với triển khai hiện tại, rồi đánh giá phạm vi thay thế các closure đó bằng các kiểu có thể gọi. Công việc được xem là hoàn tất khi đạt được sự thống nhất về phong cách lập trình và có bằng chứng về việc cải thiện hiệu năng biên dịch hoặc thời gian chạy mà không làm hỏng hành vi.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Because closures are not consistent types, they inhibit precompilation. If the closures used for the adjoints were instead callable types, which would make sure that every session has the same types and thus they should in theory be amenable to precompilation. This would be a huge but non-breaking code churn. I wonder if everyone would be okay with that programming style. It would also help in many cases with inference, because closures are known to cause inference issues. So in general this could improve compile and run time performance quite a bit, but it's a bit nasty.
- Ngôn ngữ chính
- Julia
- Star
- 475
- Fork
- 98
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
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
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
JuliaDiff/ChainRules.jl#844 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 55/100
JuliaDiff/ChainRules.jl#818 ·
-
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 ·
-
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 ·
-
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 ·
Tất cả issue của JuliaDiff/ChainRules.jl
Issue tương tự
-
Độ 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 72/100
JuliaGPU/KernelAbstractions.jl#897 ·
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 72/100
oscar-system/GAP.jl#1455 ·
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 65/100
JuliaAI/MLJTransforms.jl#85 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
SciML/OrdinaryDiffEq.jl#4875 ·
Maintainer thường phản hồi trong vòng 4 ngày