Comments 26
>продолжение следует
ой как на хабре это не любят
ой как на хабре это не любят
-7
Самый длинный сериал в истории американского ТВ — The Guiding Light, шел с 1952 по 2009 год.
en.wikipedia.org/wiki/Guiding_Light
en.wikipedia.org/wiki/Guiding_Light
+4
наверное имелось все-таки МУЛЬТсериал
-4
А я с детства наивно полагал, что самый длинный сериал — это Санта-Барбара, который, казалось, никогда не закончится…
+3
А как же Санта-Барбара?
-4
Вроде всё известно, но хорошо сгруппировано и ничего лишнего в тексте. Спасибо!
-1
> сюжет не особенно интересный, шутки несмешные…
SSE под ранетки вам в самый раз
SSE под ранетки вам в самый раз
-4
21 или 22 правило.
«Интел сознательно замедляет исполнение кода, обработанного их компилятором на „чужих“ процессорах. В политических целях».
Занавес.
«Интел сознательно замедляет исполнение кода, обработанного их компилятором на „чужих“ процессорах. В политических целях».
Занавес.
-2
Конечно! А еще добавляет в силикон для производства процессоров человеческую кровь.
Не знаю как вас убедить в том, что ваш комментарий — чушь полная, скажу только, что ни один разработчик софта не согласится покупать и использовать компилятор, дающий ухудшение производительности примерно на 1\3 всех клиентских машин (доля AMD).
Не знаю как вас убедить в том, что ваш комментарий — чушь полная, скажу только, что ни один разработчик софта не согласится покупать и использовать компилятор, дающий ухудшение производительности примерно на 1\3 всех клиентских машин (доля AMD).
0
а будет рассказано как появилась идея создания SIMD инструкций?
0
нет, не будет. идея очень старая и приоритет тут не у Интел. Если интересно, почитайте en.wikipedia.org/wiki/SIMD
0
До того как начать применять прагмы (которые не ломают код но и не портируются), сначала нужно поиграть ключиками.
-fno-alias -ansi-alias -ipo
вот три ключа, которые на С/C++ коде здорово помогают компилятору (точнее его дизамбигуатору — модулю, которы определяет пересекаются ссылки или нет) векторизовать ваш код. И если код написан в классических традициях, без грязных хаков — то работать будет.
Насчет грязных хаков — я бы отдельно бил за них по голове. Ибо сейчас компайлер настолько умный (иногда страшно становится :)) что лучше ему просто не мешать. А если проблемы с производительностью таки есть — взять в руки профайлер и поглядеть, что же там не едет.
-fno-alias -ansi-alias -ipo
вот три ключа, которые на С/C++ коде здорово помогают компилятору (точнее его дизамбигуатору — модулю, которы определяет пересекаются ссылки или нет) векторизовать ваш код. И если код написан в классических традициях, без грязных хаков — то работать будет.
Насчет грязных хаков — я бы отдельно бил за них по голове. Ибо сейчас компайлер настолько умный (иногда страшно становится :)) что лучше ему просто не мешать. А если проблемы с производительностью таки есть — взять в руки профайлер и поглядеть, что же там не едет.
+4
спасибо, это — первый комментарий по существу дела, я уже не надеялась их получить :)
вы не совсем правы. В некоторых случаях нужна именно прагма. Простейший пример:
void ignore_vec_dep(int *a, int k, int c, int m){
#pragma ivdep
for (int i = 0; i < m; i++)
a[i] = a[i + k] * c;}
Без прагмы этот цикл не векторизуется, так как при k<0 есть зависимость
вы не совсем правы. В некоторых случаях нужна именно прагма. Простейший пример:
void ignore_vec_dep(int *a, int k, int c, int m){
#pragma ivdep
for (int i = 0; i < m; i++)
a[i] = a[i + k] * c;}
Без прагмы этот цикл не векторизуется, так как при k<0 есть зависимость
+1
Вообщем то комментарий был не об исключении прагм, но о порядке применения инструментов:
1) Ключи компилятора;
2) Прагмы;
3) Изменение кода;
4) Интринсики
В порядке от 1 до 4 ухудшается сопровождение программы и ее портируемость, но улучшается контроль за генерируемым кодом.
Ваш пример в общем то понятен но есть и более сложные случаи, которые не лечатся простыми прагмами.
Например:
long j;
int N;
double *a, *b, c;
for (int i=0; i< N; i++){
a[i+j] = b[i]*c;
}
1) Ключи компилятора;
2) Прагмы;
3) Изменение кода;
4) Интринсики
В порядке от 1 до 4 ухудшается сопровождение программы и ее портируемость, но улучшается контроль за генерируемым кодом.
Ваш пример в общем то понятен но есть и более сложные случаи, которые не лечатся простыми прагмами.
Например:
long j;
int N;
double *a, *b, c;
for (int i=0; i< N; i++){
a[i+j] = b[i]*c;
}
0
Два слова о стиме.
Ядром платформы были игры на движке HL2. Позже были добавлены COD, BF и прочие. Сейчас через стим распространяется большенство новинок игромира, и логично было бы предположить, что пользуются этим сервисом люди следящие за своим железом.
Вот только сложность заключается в том, что кроме геймеров и айти спеуиалистов за своим железом больше никто не следит. (
Ядром платформы были игры на движке HL2. Позже были добавлены COD, BF и прочие. Сейчас через стим распространяется большенство новинок игромира, и логично было бы предположить, что пользуются этим сервисом люди следящие за своим железом.
Вот только сложность заключается в том, что кроме геймеров и айти спеуиалистов за своим железом больше никто не следит. (
+1
спасибо за дополнение. Но даже если вы и правы, т.е. кроме геймеров и айтишников никто за железом не следит, то 15 миллионов пользователей Стима впечатляют. Кроме того, знаю, что вы не правы :) За железом очень даже следят те, кто постоянно качает и смотрит видео ( а их — тоже миллионы), а еще некоторые со страшной силой обрабатывают фото :), так что не играми едиными.
0
15 миллионов в стиме — это геймеры (кто же еще!), и это не странно. Сравните это число с количеством активных подпищиков WOW, LA2, AION etc.
Для того, чтобы смотреть видео — достаточно вполне простого компьютера, и его не надо апгрейдить каждый квартал. 1080р показывают даже компики 2007 года.
Ребята, которые «со страшной силой» — я бы отес к профи или гикам. то есть, они были упомянуты в моем каменте )
Для того, чтобы смотреть видео — достаточно вполне простого компьютера, и его не надо апгрейдить каждый квартал. 1080р показывают даже компики 2007 года.
Ребята, которые «со страшной силой» — я бы отес к профи или гикам. то есть, они были упомянуты в моем каменте )
0
Sign up to leave a comment.
Articles
Change theme settings
«The Simdsons» — немного о семействе векторных инструкций SIMD