Главная / Введение в принципы функционирования и применения современных мультиядерных архитектур (на примере Intel Xeon Phi) / Следующую функциюvoid GetOptionPricesV7(float *pT, float *pK, float *pS0, float *pC) { int i; float d1, d2, erf1, erf2, invf; float sig2 = sig * sig; #pragma omp parallel for private(invf, d1, d2, erf1, erf2) for (i = 0; i < N; i++) { invf = invsqrtf(s

Следующую функциюvoid GetOptionPricesV7(float *pT, float *pK, float *pS0, float *pC) { int i; float d1, d2, erf1, erf2, invf; float sig2 = sig * sig; #pragma omp parallel for private(invf, d1, d2, erf1, erf2) for (i = 0; i < N; i++) { invf = invsqrtf(sig2 * pT[i]); d1 = (logf(pS0[i] / pK[i]) + (r + sig2 * 0.5f) * pT[i]) * invf; d2 = (logf(pS0[i] / pK[i]) + (r - sig2 * 0.5f) * pT[i]) * invf; erf1 = 0.5f + 0.5f * erff(d1 * invsqrt2); erf2 = 0.5f + 0.5f * erff(d2 * invsqrt2); pC[i] = pS0[i] * erf1 - pK[i] * expf((-1.0f) * r * pT[i]) * erf2; } } требуется собрать с поддержкой векторного набора команд AVX (ключ –mavx). Нужно ли модифицировать код?

вопрос

Правильный ответ:

нет, все, что необходимо компилятору для векторизации, в коде присутствует
да, добавить ключевое слово restrict в объявления параметров в функции
да, добавить прагму simd перед циклом
Сложность вопроса
75
Сложность курса: Введение в принципы функционирования и применения современных мультиядерных архитектур (на примере Intel Xeon Phi)
65
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Я завалил сессию, почему я не увидел данный сайт с решениями интуит раньше
30 мар 2020
Аноним
Какой человек ищет данные вопросы inuit? Это же легко
05 янв 2017
Аноним
Я сотрудник университета! Оперативно уничтожьте сайт vtone.ru с ответами на интуит. Умоляю
26 сен 2016
Оставить комментарий
Другие ответы на вопросы из темы суперкомпьютерные технологии интуит.