Benchmarking!
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
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- github-actions, julia
- Lĩnh vực
- ci-cd, performance, testing
Hướng nghiên cứu
Đọc issue liên quan #386 và so sánh các lựa chọn được liệt kê: PkgBenchmark.jl, NanoSoldier.jl và GitHub Action benchmark. Làm rõ cần đo những function hoặc gradient nào, benchmark sẽ được kích hoạt như thế nào và độ biến thiên giữa các máy sẽ được xử lý ra sao. Công việc này hoàn tất khi dự án thống nhất được phạm vi benchmarking và framework.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Related to #386, I would like to open the discussion for evaluating the performance of basic functions.
Here are some facts/ideas.
Existing tools
- PkgBenchmark.jl: A nice tool to create a suite of benchmarks and has functions to create nice reports on variations of performance. You can even create a markdown report which could be posted on the PR
- NanoSoldier.jl: The tool used by Julia to evaluate the performance of the language. I don't believe this can be adapted easily to our setup, but I did not checked the details
- Github action benchmark: Given a benchmark output will also create a report and has the possibility to directly create comments
Potential issues
- Benchmark is highly dependent on the machine used, if we use the Github clusters, we might get a large variance in the results depending on the time of the day etc...
- We cannot benchmark everything, which means we need to restrict ourselves to maybe the most used functions/kernels etc
- Adding benchmarks can be a lot of work, can we find a framework where adding new tests is smooth
Other ideas
- Not all PRs are performance-critical, we should be able to call whatever tool we use only when needed? Maybe every time for master and at will for some PRs.
- What do we want to benchmark? Only
pairwise,kernelmatrixor also the performance of the gradients on them?
- Ngôn ngữ chính
- Julia
- Star
- 276
- Fork
- 42
- Merge trung bình
- 3 ngày 12 giờ
- Pull request đã merge (30 ngày)
- 2
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
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 JuliaGaussianProcesses/KernelFunctions.jl
-
Future plans?Đang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
JuliaGaussianProcesses/KernelFunctions.jl#585 · 8 bình luận · 3 reaction ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 30/100
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 48/100
JuliaGaussianProcesses/KernelFunctions.jl#571 · 1 reaction ·
-
new kernel
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 25/100
JuliaGaussianProcesses/KernelFunctions.jl#533 · 1 reaction ·
Tất cả issue của JuliaGaussianProcesses/KernelFunctions.jl
Issue tương tự
-
lux
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
JuliaGraphs/GraphNeuralNetworks.jl#732 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ 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
-
erfinv(::Float16) and erfcinv(::Float16) are wrong for abs(x) <= 0.75 (erfinv(Float16(0)) == 0.2201)Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
JuliaMath/SpecialFunctions.jl#571 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100