Avoid device-to-host copy in `∇getindex!`
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Refactorización
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- julia
- Área
- performance
Línea de trabajo
Comienza en src/rulesets/Base/indexing.jl, en ∇getindex!(dx::AbstractGPUArray, dy, inds...), especialmente alrededor de la línea 183. Traza cómo la implementación actual copia los datos a la CPU y, después, investiga el custom atomic kernel y la ruta de extensión propuestos. Se considera terminado cuando la operación de GPU evita la copia de device-to-host y las sincronizaciones asociadas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- Julia
- Estrellas
- 476
- Forks
- 99
- Merge medio
- 1 d 1 h
- PR fusionados (30 d)
- 5
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 JuliaDiff/ChainRules.jl
-
`rand(1:n, k)` inside a Zygote gradient errors since 1.74.3Posiblemente ocupada @devmotion la tomó hoy. Abierto
JuliaDiff/ChainRules.jl#854 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 55/100
JuliaDiff/ChainRules.jl#818 ·
Los mantenedores suelen responder en 1 día
-
refactoring
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
JuliaDiff/ChainRules.jl#815 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
JuliaDiff/ChainRules.jl#810 ·
Los mantenedores suelen responder en 1 día
-
stack overflow issueAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
JuliaDiff/ChainRules.jl#809 ·
Los mantenedores suelen responder en 1 día
Todos los issues de JuliaDiff/ChainRules.jl
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
legend-exp/LegendDataManagement.jl#232 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
EnzymeAD/Reactant.jl#3569 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
astroautomata/SymbolicRegression.jl#783 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día