[Design] CUDA support
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- python, tensorflow
- Área
- backend, ci-cd, performance
Línea de trabajo
Comienza revisando qsim PR 366 y la dependencia actual de qsim para determinar cuándo está disponible la compatibilidad con CUDA. Después, mapea las operaciones expectation, sampled_exctation, sample, state, math_ops y noise, añade un trabajo de build de GPU de Kokoro y compara mediante benchmarks ambos esquemas de paralelización; se considera terminado cuando se proporcionan objetivos de hardware GPU y decisiones de rendimiento documentadas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
With early stages of CUDA support starting to make its way into qsim we should investigate registering GPU host devices for our OP kernels so we can give our users GPU accelerated simulation when it makes sense to do so.
Like with our existing ops, we may need to have two different parallelization schemes, one for small circuits where we parallelize over circuits in a batch and one for larger circuits we parallelize across single large wavefunctions. Once the connections have been made we should do an in depth study to determine which scenarios give best performance. This is a large project and will roughly require the following:
- Upgrade our qsim dependency to the latest version containing CUDA support (once available)
- Add a kokoro CI job that can build on GPUs, since github actions won't let us test / compile on real GPU hardware.
- For each of our core ops (expectation, sampled_exctation, sample and state) carry out performance benchmarks under the two parallelization schemes for GPU and provide new OP hardware targets that give the users the best possible performance
- Carry out these same tests for the
math_ops. - Carry out these tests again for the
noiseops.
- Lenguaje dominante
- Python
- Estrellas
- 2.2k
- Forks
- 665
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de tensorflow/quantum
-
area/devops help wanted no QC knowledge needed priority/before-0.7.7
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
tensorflow/quantum#1082 · 1 comentario · 1 reacción ·
-
Support Keras 3Quizá libre de nuevo @rosspeili la tomó hace 74 días y no hay ningún pull request abierto. Abiertoarea/keras help wanted skill-level/intermediate
tensorflow/quantum#1090 · 4 comentarios · 1 asignado ·
-
Investigate support for JAXAbiertoskill-level/expert
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
tensorflow/quantum#1089 · 2 comentarios ·
-
area/core priority/after-0.7.7 skill-level/expert
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
tensorflow/quantum#1088 ·
-
Support dynamic quantum circuitsAbiertoarea/circuits priority/after-0.7.7 skill-level/expert
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
tensorflow/quantum#1087 ·
Todos los issues de tensorflow/quantum
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
qgis/QGIS-Plugins-Website#459 ·
-
bug severity:medium
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 2 días
-
bot-found bug priority: P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
madenvel/KalinkaPlayer#179 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
ls1intum/edutelligence#1098 ·
Los mantenedores suelen responder en 1 día