1.3, User294 (??), 12:55, 11/03/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Прикольно.Представляю себе как взлетит скорость.Правда как бы при таком масштабе изменений глюков не отхватить...
| |
|
2.5, Cobold (??), 13:55, 11/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
На десктопах может быть даже будет иногда заметно. На серверах вряд ли, скорее даже будет мешать - там уже давно распараллеливают другими методами, эта самодеятельность только создаст фактор непредсказуемости. Вот для числодробилок это действительно интересно. Вы часто пользуетесь числодробилками? Шутка :)
| |
|
3.15, User294 (??), 19:05, 11/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
>скорее даже будет мешать - там уже давно распараллеливают другими методами,
>эта самодеятельность только создаст фактор непредсказуемости.
А что, насильно привязать процесс к конкретному процессору (если вдруг оно реально зачем-то надо) не судьба?
>Вот для числодробилок это действительно интересно.
>Вы часто пользуетесь числодробилками? Шутка :)
Знаете, (де)кодирование видео и аудио - тоже числодробилка.Шифрование всякое, etc.Не будем ускорять, да? :)
| |
|
|
1.6, Аноним (6), 14:16, 11/03/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>эта самодеятельность только создаст фактор непредсказуемости.
По-видимому эта самодеятельность будет включаться специальным ключиком в командной строке вызова компилятора. А раз так, то никто никого не будет заставлять использовать эту фичу.
| |
1.9, Аноним (8), 16:53, 11/03/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Если бы распаралеливался foreach, то можно было бы быть спокойными, а если for, то можно и огрести неприятных эффектов
| |
|
2.14, Cobold (??), 18:25, 11/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Если бы распаралеливался foreach, то можно было бы быть спокойными, а если
>for, то можно и огрести неприятных эффектов
Это Вы про ПХП ?
| |
2.20, 18498 (?), 13:31, 12/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Если бы распаралеливался foreach, то можно было бы быть спокойными, а если
>for, то можно и огрести неприятных эффектов
Не бойся. Это компилятор будет определять включать распараллеливание или нет, глупых людей допускающих >0 false positive решений в данном вопросе не допустят
| |
|
1.10, Аноним (8), 17:26, 11/03/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Как же это интересно будет сделано? На каждый цикл будет создаваться несколько процессов/нитей на разных ядрах?
| |
|
2.18, User294 (??), 00:15, 12/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Нафиг автоматику в этом деле, руками надёжнее и интереснее
Я вижу только одну проблему: а вагон существующего софта кто перелопатит?Вы?А, ну флаг вам в руки.Можете начать с аудио-видео кодеков и шифрования :)
| |
|
3.25, Styx (??), 06:45, 15/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
Железо не стоит на месте, и многие задачи, которые год назад имело смысл параллелить, сейчас спокойно обрабатываются в реальном времени на одном ядре. Скажем, на моем C2D E8500 одно ядро шифрует AES-256-CBC 100MB в секунду. Это сравнимо со скоростями дисков и сети, т.е. в большинстве случаев не является боттлнеком. Blowfish, например, еще быстрее. Про аудио кодеки вы вообще не весть к чему ляпнули - уже много лет не существует аудио кодеков, которые не укладываются в realtime. С видео тоже особых проблем нет - man mencoder | grep thread, к тому же видео оффлоудится в GPU со своей собственной параллельностью и гораздо большей эффективностью.
Короче, это автоматическое распараллеливание - фича для ленивых программистов, которая позволит в _некоторых_ случаях ускорить _некоторые_ алгоритмы. Разумеется, со своим оверхедом. А в 'обычных приложениях' боттлнек вобщем-то и не в CPU, а в memory latency, так что серебряной пули нет :)
| |
|
4.26, DarkFlame (ok), 17:47, 22/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Железо не стоит на месте, и многие задачи, которые год назад имело
>смысл параллелить, сейчас спокойно обрабатываются в реальном времени на одном ядре.
Мир состоит из одних персоналок? Только из современных?
| |
|
|
|
1.19, Аноним (8), 00:30, 12/03/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А я тут думал, что в 4.4 сейчас заморозка кода и такие крупные изменения войдут в 4.5, к примеру ....
| |
1.21, pavlinux (ok), 04:36, 13/03/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Меня всегда радовали методы, используемые ДЖыСиСятами для параллельных вычислений, и особенно примеры в презентациях:
Этот цикл можно разогнать, хоть на 5 процессоров.
for ( i = 0; i < 5; i++)
S[i] = i;
---------------
Ну и тут, на 5 основных, каждый из которых так же по пять...
for ( i=0; i<5; i++ )
for (j=0; j < 5; j++ )
S[i][j] = S[i][j]+i*j;
Типа так (нулевой пропускаю)
k=1
for ( i = 0; j = k ; i < 5; i++ )
S[i][j] = S[i][j]*k; ;
--------
k=2
for ( i = 0; j = k ; i < 5; i++ )
S[i][j] = S[i][j]*k;
ну и так далее
k=Z
for ( i = 0; j = Z ; i < 5; i++ )
S[i][j] = S[i][j]*k;
-------
Я это к чему вообще!?
Да к тому, что все результаты этих циклов известны заранее.
И 50% из них легко реализуются на указателях
остальные на 49% на препроцессоре, с генерацией БОЛЬШОЙ int ARRAY[65535][65535]
И 1% код для анализа, в котором страшно распараллеливать, - либо глюкнет, либо запутаешься.
Более интересные вещи, это генерация функций, которые буду в последствии,
уже в моей программе, сами распараллеливать, в зависимости от аргументов.
Тут можно распараллелить максимум на 4, минимум 0.
if ( a < 5 )
S[i] = a;
if ( a > 25 )
S[i] = a-25;
if ( a < 5 || (S[i] - a) > 8 )
S[i-a] = 8-a;
if ( a > S[i] )
S[i] = a-25;
Можно, загнать в бинарник 4 функции, которые раздельно отработают. Нафига!?
Мне нужно, что б само параллелилось на 4 CPU, когда 6 < a < 8, на 2 СPU, когда 5 < a < 25
Вы скажите, ну тогда впиши эти условия в начале! Ладно! А если x < a < y :)
| |
|