DLPack-related tests & examples with host-accessible memory are sensitive to NumPy versions

Offen
#1,168 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
numpy, python
Bereich
testing-qa

Rechercherichtung

Beginne mit dem minimalen Reproduzierer im Issue und finde die DLPack-Tests und Beispiele, die hostzugänglichen Speicher abdecken. Vergleiche das Verhalten über die genannten NumPy-Versionen hinweg, einschließlich der Grenze v2.2.5, und überprüfe anschließend jede bestehende Bedingung zum Überspringen von Tests. Abgeschlossen ist die Aufgabe, wenn für die betroffenen Tests und Beispiele eine explizite, reproduzierbare Versionsrichtlinie festgelegt ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

cuda.core documentation example test

Minimal reproducer I just built for nvbugs 5591656:

import numpy as np
from cuda.core.experimental import Device, LegacyPinnedMemoryResource

dev = Device()
dev.set_current()
mr = LegacyPinnedMemoryResource()
buf = mr.allocate(40)
arr = np.from_dlpack(buf).view(np.float32)
arr[:] = 1

This causes ValueError: assignment destination is read-only until NumPy v2.2.5 as Rui from the QA team correctly pointed out.

Previously, we've known NumPy's DLPack support is not as stable as we hoped. Some tests required v2.1.0+ to run. This seems to be a new situation that we did not capture so far, because we let most, if not all, of the test dependencies float.

We should re-evaluate how aggressively we'd like to teach users to use NumPy for host interoperability, and examine all the test-skip conditions.

Vorherrschende Sprache
Cython
Sterne
3.4k
Forks
329
Ø Merge
1 T. 21 Std.
Gemergte PRs (30 T.)
113

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus NVIDIA/cuda-python

Alle Issues in NVIDIA/cuda-python

Ähnliche Issues

Weitere Issues zu Testing & QA

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.