Desarrollo con Torch C++ y optimización de CUDA todo el día de hoy y mañana, con transmisiones en directo aquí, en YouTube y en Twitch. El objetivo es 1) Haz que PufferLib ejecute aprendizaje por refuerzo a 10 millones de pasos por segundo 2) Eliminar las fuentes difíciles de perfilar de posibles cuellos de botella 3) Veamos lo sencillo que podemos hacerlo A continuación, algunas preguntas para los desarrolladores de GPU.
P: Tengo redes pequeñas y necesito reducir el número de lanzamientos de kernels. Mis opciones son: 1) lidiar con la complejidad de cudagraph, 2) escribir kernels fusionados grandes o 3) ambas. Los kernels fusionados parecen interesantes, pero la multiplicación de matrices cublas de NVIDIA no es de código abierto. ¿Qué puedo hacer?
P: Hasta ahora, los kernels de fp32 son bastante fáciles. Básicamente solo hay que escribir en C. ¿Cuál es la forma más sencilla de implementar soporte para TF32, FP16 y BF16 sin complicarlo todo?
P: Mi instinto me dice que evite usar librerías adicionales a menos que sea absolutamente necesario. Por ejemplo, no me gusta nada Triton (aunque me molestaría menos si generara los kernels una sola vez para luego incluirlos estáticamente en mi proyecto). Necesito ajustar el tamaño de los tiles. ¿Qué puedo hacer?