Cómo usar una GPU para ejecutar código R
Hoy en día, DNN y CNN convierten los cálculos en multiplicación de matrices en el nivel inferior. La biblioteca BLAS utilizada es la aceleración de la multiplicación de matrices. En muchos casos, la aplicación llama a la interfaz estándar R, que es una biblioteca de un solo subproceso que implementa la multiplicación de matrices. Puede reemplazar fácilmente la parte debajo de esta biblioteca, ya sea con la biblioteca cuBLAS acelerada por GPU o con una multinúcleo o multi. -Biblioteca central. Enhebrado de la biblioteca MKL de Intel y OpenBLAS. De esta manera puede aumentar rápidamente la velocidad de las operaciones matriciales.
Existe una biblioteca NVBLAS en Linux que en realidad es un contenedor de cuBLAS que le permite ajustar multiplicaciones de matrices de varias precisiones.
No solo admite una sola GPU, sino que también admite múltiples GPU. Su principal ventaja es que no requiere modificaciones en el código, es decir, cero esfuerzo de programación, simplemente cargar la biblioteca NVBLAS en el front-end y luego reemplazar la biblioteca NVBLAS por cuBLAS ejecutándose en la GPU.
Por lo tanto, al desarrollar aplicaciones, las personas generalmente tienen esta forma de pensar: si quieren acelerar los cálculos, intentarán convertir el cálculo en un cálculo matricial y luego cargar varias bibliotecas multiproceso o Biblioteca paralela para que el programa pueda mejorarse rápidamente sin tener que reescribir demasiado código.
La línea azul es el programa ejecutado con R sin formato, puedes ver que el tiempo de ejecución es mucho mayor, y con la biblioteca NVBLAS cargada, el tiempo de ejecución es mucho menor. Otros son algoritmos básicos que se utilizan en muchos programas. Cuando un programa depende en gran medida de algoritmos tan básicos, puede considerar cargar una gran cantidad de bibliotecas paralelas para ver cómo se ejecuta el programa.