Будет ли _mm512_mask_prefetch_i32gather_ps() предварительно извлекать целую строку кэша для каждого элемента?

Собрать предварительную выборку _mm512_mask_prefetch_i32gather_ps может использоваться для предварительной выборки 32-битных чисел в Knights Corner.

Поскольку соответствующей встроенной функции для двойников не существует, как следует использовать эту встроенную функцию для 64- или 128-битных элементов предварительной выборки?

Должен ли каждый 4-байтовый блок быть явно предварительно выбранным, или мы можем предположить, что каждый предварительный выбор 32-битной переменной будет фактически предварительно выбирать всю 64-байтовую строку кэша, которую он занимает?

Пример:

Я хочу предварительно выбрать 4 двойных по смещению {1,2,10,12} с базового адреса 0xf0000000,

Это соответствует адресам {0xf0000008, 0xf0000010, 0xf0000050, 0xf0000060},

Они занимают две строки кэша, начиная с {0xf0000000, 0xf0000040},

Было бы достаточно использовать _mm512_mask_prefetch_i32gather_ps с базовыми адресами этих двух строк кэша?

Я первоначально разместил этот вопрос на форуме Intel MIC без успеха.

0 ответов

Другие вопросы по тегам