flutuações de largura de banda cuda v100 e RTX2080

flutuações de largura de banda cuda v100 e RTX2080

Eu tenho um kernel cuda simples (adicionando dois vetores de tamanho N) bem parecido compara este blog cuda aqui. Mudei apenas algumas coisas, por exemplo, executar a medição em várias amostras. Então, deixe isso rodar, digamos, 1000 vezes e depois escreva essa medida em um txt. Se eu traçar agora as medidas para transferir um vetor para o dispositivo, obtenho o seguinte:

insira a descrição da imagem aqui

Agora, se dermos uma olhada no stddev desenhado como barras de erro verticais, então deve ficar claro que, por algum motivo, a flutuação dos movimentos de dados aumenta com o tamanho, porque as barras de erro são meio constantes em um gráfico log-log. Isso pode ser validado quando apenas o stddev é plotado

insira a descrição da imagem aqui

Se eu pegar o mesmo programa doblog cuda, então recebo, a cada 10 execuções, também flutuações de largura de banda. De onde isto vem? Observei o mesmo comportamento em duas GPUs diferentes, uma V100 e uma RTX2080. Desculpe pelo transtorno com as imagens, mas não tenho pontos de reputação suficientes.

Responder1

como umusuário do fórum de desenvolvimento da nvidia sugeridoTentei memória fixada em vez de não fixada e funcionou muito bem. As flutuações desapareceram quase completamente.

informação relacionada