Benchmarking!
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- github-actions, julia
- Área
- ci-cd, performance, testing
Línea de trabajo
Lee el issue relacionado #386 y compara las opciones enumeradas: PkgBenchmark.jl, NanoSoldier.jl y GitHub Action benchmark. Aclara qué funciones o gradientes se deben medir, cómo se deben activar los benchmarks y cómo se gestionará la variación entre máquinas. Esto estará terminado cuando el proyecto tenga un alcance y un framework de benchmarking acordados.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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?
- Lenguaje dominante
- Julia
- Estrellas
- 276
- Forks
- 42
- Merge medio
- 3 d 12 h
- PR fusionados (30 d)
- 2
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de JuliaGaussianProcesses/KernelFunctions.jl
-
Future plans?Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
JuliaGaussianProcesses/KernelFunctions.jl#585 · 8 comentarios · 3 reacciones ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
JuliaGaussianProcesses/KernelFunctions.jl#571 · 1 reacción ·
-
new kernel
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 25/100
JuliaGaussianProcesses/KernelFunctions.jl#533 · 1 reacción ·
Todos los issues de JuliaGaussianProcesses/KernelFunctions.jl
Issues similares
-
lux
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
JuliaGraphs/GraphNeuralNetworks.jl#732 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
erfinv(::Float16) and erfcinv(::Float16) are wrong for abs(x) <= 0.75 (erfinv(Float16(0)) == 0.2201)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
JuliaMath/SpecialFunctions.jl#571 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100