NVIDIA / NVIDIA/cuda-python

Make `no_cache=True` the default in `LinkerOptions`?

Ouverte
#950 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

cuda.core RFC
Langage dominant
Cython
Étoiles
3.4k
Forks
329
Merge moyen
1 j 23 h
PR mergées (30 j)
116

Description

During the investigation of #920, I noticed that nvJitLink internally also has its own cache (likely sharing the driver cache). But it is confusing as a PTX developer when monitoring the info log: The first compilation I see this

self.get_info_log()='ptxas info    : 0 bytes gmem\nptxas info    : Function properties for add\nptxas         .     24 bytes stack frame, 16 bytes spill stores, 16 bytes spill loads\nptxas info    : Compile time = 2.002 ms\ninfo    : 16 bytes gmem\n\x00'

but second time onward it's only

self.get_info_log()='info    : 16 bytes gmem\n\x00'

Because the PTX is not re-compiled.

We already have a plan for caching (#176). I feel we should turn off nvJitLink's cache by default.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par localiser le point d’entrée de LinkerOptions et examiner l’impact de la mise en cache de nvJitLink sur les compilations répétées de PTX et les info logs. Comparez les stratégies de mise en cache de #920 et #176, puis définissez la valeur par défaut attendue ainsi qu’un test qui vérifie le comportement de compilation obtenu.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Domaine
compilers
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.