Size computation slows bulk insert significantly
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- cpp
- Área
- performance
Línea de trabajo
Comience con include/cuco/detail/static_map.inl en las líneas 149-151 y perfile la inserción masiva para confirmar los costes de device-to-host memcpy y de sincronización. Compare alternativas para calcular o evitar el mantenimiento del tamaño y, después, verifique que bulk insert ya no incurra en la sobrecarga por operación notificada sin romper el comportamiento relacionado con el tamaño.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The size computation requires a small memcpy from device to host and then a synchronization. Each one is the cause of serious performance degradation.
The synchronization is bad because it means that other unrelated streams are unable to do work.
The memcpy is bad because future copies are queued behind this one in architectures that have a limited number of cuda copy engines.
I was able to get a significant performance improvement by deleting these lines.
There ought to be a better way to compute size. Perhaps a lazy method. If this is too difficult, you might consider using templates to allow the user to choose to not maintain size_ at all! Use templates to change the type of size_ from int to a struct that has no members. That way it doesn't take up any space. Provide no methods on this struct so that the size_ doesn't get accidentally used. It will still use some space on the host but that seems like no big deal.
- Lenguaje dominante
- Cuda
- Estrellas
- 671
- Forks
- 122
- Merge medio
- 4 d 19 h
- PR fusionados (30 d)
- 10
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- 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 NVIDIA/cuCollections
-
Add cuco::detail::stream_sync(cuda::stream_ref) to centralize CCCL version-specific API namingQuizá libre de nuevo @0z5a la tomó hace 22 días y no hay ningún pull request abierto. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
NVIDIA/cuCollections#840 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
nvidia-runners
Dificultad 1/5 1-3 horas Aptitud para principiantes 25/100
NVIDIA/cuCollections#853 ·
Los mantenedores suelen responder en 2 días
-
Add byte-oriented sizing and validation utilities for `bloom_filter`Posiblemente ocupada @yuweih205 la tomó hace 34 días. Abiertohelps: rapids topic: bloom_filter type: feature request
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
NVIDIA/cuCollections#829 · 2 comentarios ·
Los mantenedores suelen responder en 2 días
-
topic: performance type: feature request
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
NVIDIA/cuCollections#817 · 7 comentarios · 1 reacción ·
Los mantenedores suelen responder en 2 días
-
good first issue P2: Nice to have type: improvement
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
NVIDIA/cuCollections#805 · 4 comentarios ·
Los mantenedores suelen responder en 2 días
Todos los issues de NVIDIA/cuCollections
Issues similares
-
bug confirmed perf
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
videojs/video.js#9400 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
unslothai/unsloth-zoo#1661 ·
Los mantenedores suelen responder en 1 día
-
Performance: deprecated DeviceEntry.config_entries access blocks the event loop for tens of secondsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
tuya/tuya_cloud_ha_bridge#14 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
codeigniter4/CodeIgniter4#10616 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
PrestaShop/PrestaShop#43184 ·
Los mantenedores suelen responder en 1 día