Fluctuaciones del ancho de banda de cuda v100 y RTX2080

Fluctuaciones del ancho de banda de cuda v100 y RTX2080

Tengo un kernel cuda simple (agregando dos vectores de tamaño N) bastante similar aa este blog de cuda aquí. Sólo cambié algunas cosas, por ejemplo, ejecutar la medición en varias muestras. Entonces, deje que esto se ejecute, digamos, 1000 veces y luego escriba esta medida en un texto. Si trazo ahora las medidas para transferir un vector al dispositivo obtengo lo siguiente:

ingrese la descripción de la imagen aquí

Ahora, si echamos un vistazo al stddev dibujado como barras de error verticales, entonces debería quedar claro que, por alguna razón, la fluctuación de los movimientos de datos aumenta con el tamaño, porque las barras de error son algo constantes en un gráfico log-log. Esto se puede validar cuando solo se traza el stddev

ingrese la descripción de la imagen aquí

Si tomo el mismo programa delblog cuda, luego obtengo por cada décima ejecución aproximadamente también fluctuaciones en el ancho de banda. ¿De donde viene esto? Observé el mismo comportamiento en dos GPU diferentes, una V100 y una RTX2080. Disculpe las molestias con las imágenes, pero no tengo suficientes puntos de reputación.

Respuesta1

como unUsuario del foro de desarrollo de nvidia sugeridoProbé la memoria fijada en lugar de la no fijada y funcionó bastante bien. Las fluctuaciones han desaparecido casi por completo.

información relacionada