[FEA]: Support inheritance from Buffer

Abierto Apto para principiantes
#2,435 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
62/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
python
Área
api

Línea de trabajo

Comienza localizando la implementación de Buffer de cuda.core y sus métodos from_handle() y _reduce_helper(), y luego inspecciona cómo se construyen las instancias devueltas. Revisa el issue #750 relacionado y el comportamiento relevante de Buffer; se considera terminado cuando las subclases heredan ambos métodos y reciben instancias de la subclase sin romper el comportamiento existente de Buffer.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

cuda.core triage
Is this a duplicate?
Area

cuda.core

Is your feature request related to a problem? Please describe.

nvmath-python is considering creating a subclass of Buffer specific to NVSHMEM because we want to mostly follow cuda.core's semantics for Buffer/MemoryResource, but need some different behavior regarding garbage collection.

Describe the solution you'd like

Buffer should use classmethod instead of staticmethod for all methods that return an instance of the class. i.e. from_handle() and _reduce_helper()

Describe alternatives you've considered

Composing Buffer with our Buffer.
Replicating the Buffer protocol with an unrelated class.
Rolling our own MemoryResource/Buffer abstraction that is unique to nvmath's distributed APIs.

Additional context

Related to: https://github.com/NVIDIA/cuda-python/issues/750

Lenguaje dominante
Cython
Estrellas
3.4k
Forks
329
Merge medio
1 d 21 h
PR fusionados (30 d)
113

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de NVIDIA/cuda-python

Todos los issues de NVIDIA/cuda-python

Issues similares

Más issues de Backend & API Design

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.