Cómo ejecutar código en lenguaje R con GPU
Ahora, tanto DNN como CNN convierten los cálculos en multiplicaciones de matrices subyacentes. La biblioteca BLAS se utiliza para acelerar la multiplicación de matrices. En muchos casos, las aplicaciones se denominan interfaz estándar R, que es una biblioteca de multiplicación de matrices de un solo subproceso. Esta biblioteca puede reemplazar fácilmente las siguientes partes, que pueden ser reemplazadas por la biblioteca cuBLAS acelerada por GPU o la biblioteca Intel MKL de múltiples núcleos o subprocesos múltiples y OpenBLAS. De esta manera, se puede aumentar rápidamente la velocidad de las operaciones matriciales.
Existe una biblioteca NVBLAS en Linux, que en realidad es un contenedor para cuBLAS, desde donde se puede ajustar la multiplicación de matrices con varias precisiones.
No solo admite una sola GPU, sino que también admite múltiples GPU. Su principal ventaja es que no necesita realizar ningún cambio en su código, es decir, cero esfuerzo de programación. Simplemente cargue la biblioteca NVBLAS al frente y esta biblioteca será reemplazada por cuBLAS y se ejecutará en la GPU.
Así que, cuando se desarrolla una aplicación, la gente suele tener una idea. Si desea acelerar el cálculo, debe intentar convertirlo en cálculo matricial y cargar varias bibliotecas de subprocesos múltiples o bibliotecas paralelas, entonces el programa se puede mejorar rápidamente sin reescribir demasiado código. Y luego, si analizamos los puntos de referencia, hay dos tipos de puntos de referencia.
La línea azul es el programa ejecutado con la r original. Puede ver que el tiempo de ejecución es mucho más largo. Después de cargar la biblioteca NVBLAS, el tiempo de ejecución es mucho más corto. Otros son algunos algoritmos básicos utilizados en muchos programas. Cuando un programa se basa en este algoritmo básico, considere cargar muchas bibliotecas paralelas para ver cómo funciona el programa.