У меня есть простой вопрос о вычислении вычислительной интенсивности ядра.
Фон
Интенсивность вычислений определяется как отношение операций с плавающей запятой к ссылкам в памяти.
Рассмотрим следующий цикл
for (int i=0; i<N; i++)
a[i]=b[i]+alpha*c[i]
У нас есть одно сложение и одно умножение, что дает 2 операции с плавающей запятой.
Вопрос
Сколько существует ссылок на память? Ясно, что на b[i]
и c[i]
будут ссылаться. Скаляр alpha
считается ссылкой, или мы можем игнорировать его, так как он, вероятно, кэшируется и недорог для ссылки? Считается ли запись в a[i]
дополнительной ссылкой?
Буду признателен за любые комментарии или ресурсы, на которые вы можете указать мне