Size computation slows bulk insert significantly
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- cpp
- Domaine
- performance
Piste de recherche
Commencez par include/cuco/detail/static_map.inl aux lignes 149-151 et profilez l’insertion en masse afin de confirmer les coûts de device-to-host memcpy et de synchronisation. Comparez les alternatives pour calculer ou éviter la maintenance de la taille, puis vérifiez que bulk insert n’entraîne plus la surcharge par opération signalée sans casser le comportement lié à la taille.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- Cuda
- Étoiles
- 674
- Forks
- 123
- Merge moyen
- 1 j 13 h
- PR mergées (30 j)
- 8
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de NVIDIA/cuCollections
-
Add cuco::detail::stream_sync(cuda::stream_ref) to centralize CCCL version-specific API namingPeut-être à nouveau libre @0z5a l’a pris il y a 41 jours, et aucune pull request n’est ouverte. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
NVIDIA/cuCollections#840 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
nvidia-runners
Difficulté 1/5 1-3 heures Accessibilité débutants 25/100
NVIDIA/cuCollections#853 ·
Les mainteneurs répondent en général sous 1 jour
-
topic: performance type: feature request
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
NVIDIA/cuCollections#817 · 7 commentaires · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
good first issue P2: Nice to have type: improvement
Difficulté 4/5 3-5 jours Accessibilité débutants 38/100
NVIDIA/cuCollections#805 · 4 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
[FEA] Add MPSC/MPMC concurrent queuePeut-être à nouveau libre @sleeepyjack l’a pris il y a 281 jours, et aucune pull request n’est ouverte. Ouvertemaintainer-only type: feature request
NVIDIA/cuCollections#791 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de NVIDIA/cuCollections
Issues similaires
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 80/100
huggingface/transformers.js#1839 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 67/100
ly05010419/MacNativeGames#1332 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
SamuelNDCE/plume#42 ·
Les mainteneurs répondent en général sous 1 jour
-
area: theme good first issue help wanted lane: free-agent roadmap size: XS type: task
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
arminazimi/slipway#765 ·
Les mainteneurs répondent en général sous 1 jour
-
AITER tuned-CSV coverage check stalls baseline startup by rescanning serving .so files once per rowOuvertetype:feature
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
Les mainteneurs répondent en général sous 1 jour