Benchmarking!

Đang mở
#387 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

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, kernelmatrix or 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

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của JuliaGaussianProcesses/KernelFunctions.jl

Tất cả issue của JuliaGaussianProcesses/KernelFunctions.jl

Issue tương tự

Thêm issue về Julia

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.