RFC: `xpx.compile` as an abstraction for `torch.compile` and `jax.jit` decorators?
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
- 25/100
- Type d'issue
- Fonctionnalité
- Clarté
- À clarifier
- Activité
- À l'abandon
- Domaine
- backend-api-design, machine-learning
Piste de recherche
Commencez par consulter la documentation liée de torch.compile et jax.jit et comparer leurs paramètres de décorateur avec l’abstraction array-api-extra proposée ici. Déterminez si la compilation par défaut et les kwargs associés à un namespace sont utiles, puis documentez une conception d’API approuvée ainsi que son comportement no-op pour les namespaces non pris en charge comme définition of done.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Has anybody investigated the possibility to allow for an array agnostic way to leverage the torch.compile and jax.jit decorators in array-api-extra?
This might be useful for array API consuming libraries such as SciPy or scikit-learn. For array API namespaces without JIT compiler support, xpx.compile would just result in a noop decorator. For torch and JAX it might, dispatching to an actual JIT compiler could unlock significant speed-ups and memory usage improvements.
However, the parameters of those decorators have many kwargs with seemingly very little overlap:
- https://docs.jax.dev/en/latest/_autosummary/jax.jit.html
- https://docs.pytorch.org/docs/stable/generated/torch.compile.html
Maybe xpx.compile could be made to accept arbitrary kwargs scoped by the underlying namespace name without attempting to map common compiler semantics together.
@xpx.compile(
torch=dict(options={"triton.cudagraphs": True}, fullgraph=True),
jax=dict(static_argnames=['n']),
)
def some_array_function(array, n):
...
I have little experience to tell whether calling those decorators with their default argument is useful or not in practice.
- Langage dominant
- Python
- Étoiles
- 33
- Forks
- 32
- Merge moyen
- 5 h 58 min
- PR mergées (30 j)
- 47
Préparer son environnement
Nous n'avons pas encore vérifié les fichiers d'installation de ce projet. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
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 data-apis/array-api-extra
-
ENH: new function `replace`Ouverteenhancement new function
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
data-apis/array-api-extra#992 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
testing
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
data-apis/array-api-extra#901 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
testing upstream issue
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
data-apis/array-api-extra#900 · 8 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
TST: non-default device testingOuverteblocked testing xpx.testing
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 30/100
data-apis/array-api-extra#833 · 1 commentaire · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement help wanted
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
data-apis/array-api-extra#811 · 1 commentaire · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de data-apis/array-api-extra
Issues similaires
-
correction metadata
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
acl-org/acl-anthology#10104 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
bug status/needs-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
prowler-cloud/prowler#12885 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Bug in GaussianTailProbabilityCalibrator: running_statistics=False still uses a windowed varianceOuvertebug good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
selimfirat/pysad#107 ·
Les mainteneurs répondent en général sous 1 jour
-
bug ci-failure high priority
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
vllm-project/vllm-omni#8194 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour