The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"В GCC 4.4 появится поддержка автоматического распараллеливан..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"В GCC 4.4 появится поддержка автоматического распараллеливан..."  
Сообщение от opennews (??) on 11-Мрт-09, 12:45 
В списке рассылки GCC опубликован (http://gcc.gnu.org/ml/gcc/2009-03/msg00239.html) план реализации автоматического распараллеливания циклов в GCC. Ранее в дерево исходных текстов GCC был интегрирован код проекта Graphite (http://gcc.gnu.org/wiki/Graphite), в рамках которого была разработана технология оптимизации через обеспечение параллельного выполнения циклических операций. Разработка Graphite велась при участии компании IBM. Для обеспечения автоматического распараллеливания операций код Graphite будет комбинирован с генератором кода autopar (http://autopar.sourceforge.net/), основанным на реализации спецификаций OpenMP (http://en.wikipedia.org/wiki/OpenMP), созданной в рамках проекта GOMP (http://gcc.gnu.org/projects/gomp/).


Начальная поддержка автоматического распараллеливания появится в следующем релизе - GCC 4.4. Разработка позволит значительно увеличить производительность обычных приложений на многоядерных процессорах, созданных без использования специальных библиотек расп...

URL: http://www.phoronix.com/scan.php?page=news_item&px=NzEzNA
Новость: http://www.opennet.ru/opennews/art.shtml?num=20697

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "В GCC 4.4 появится поддержка автоматического распараллеливан..."  
Сообщение от Аноним (??) on 11-Мрт-09, 12:45 
Давно пора!
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "В GCC 4.4 появится поддержка автоматического распараллеливан..."  
Сообщение от kay (ok) on 11-Мрт-09, 12:49 
да, запоздали они, запоздали )
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "В GCC 4.4 появится поддержка автоматического распараллеливан..."  
Сообщение от User294 (??) on 11-Мрт-09, 12:55 
Прикольно.Представляю себе как взлетит скорость.Правда как бы при таком масштабе изменений глюков не отхватить...
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "В GCC 4.4 появится поддержка автоматического распараллеливан..."  
Сообщение от mag (??) on 11-Мрт-09, 13:18 
лишь бы не криво, а так лучше поздно чем никогда)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "В GCC 4.4 появится поддержка автоматического распараллеливан..."  
Сообщение от Cobold (??) on 11-Мрт-09, 13:55 
На десктопах может быть даже будет иногда заметно. На серверах вряд ли, скорее даже будет мешать - там уже давно распараллеливают другими методами, эта самодеятельность только создаст фактор непредсказуемости. Вот для числодробилок это действительно интересно. Вы часто пользуетесь числодробилками? Шутка :)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "В GCC 4.4 появится поддержка автоматического распараллеливан..."  
Сообщение от Аноним (??) on 11-Мрт-09, 14:16 
>эта самодеятельность только создаст фактор непредсказуемости.

По-видимому эта самодеятельность будет включаться специальным ключиком в командной строке вызова компилятора. А раз так, то никто никого не будет заставлять использовать эту фичу.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "В GCC 4.4 появится поддержка автоматического распараллеливан..."  
Сообщение от Cobold (??) on 11-Мрт-09, 14:29 
Надо думать
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "В GCC 4.4 появится поддержка автоматического распараллеливан..."  
Сообщение от Аноним (??) on 11-Мрт-09, 14:48 
Разработчики уже подумали за вас.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "В GCC 4.4 появится поддержка автоматического распараллеливан"  
Сообщение от Аноним (??) on 11-Мрт-09, 16:53 
Если бы распаралеливался foreach, то можно было бы быть спокойными, а если for, то можно и огрести неприятных эффектов
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "В GCC 4.4 появится поддержка автоматического распараллеливан..."  
Сообщение от Аноним (??) on 11-Мрт-09, 17:26 
Как же это интересно будет сделано? На каждый цикл будет создаваться несколько процессов/нитей на разных ядрах?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "В GCC 4.4 появится поддержка автоматического распараллеливан..."  
Сообщение от AlexusBlack on 11-Мрт-09, 17:32 
Нафиг автоматику в этом деле, руками надёжнее и интереснее
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12. "В GCC 4.4 появится поддержка автоматического распараллеливан..."  
Сообщение от Аноним (??) on 11-Мрт-09, 17:50 
А это по-умолчанию включат?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

13. "В GCC 4.4 появится поддержка автоматического распараллеливан..."  
Сообщение от anonymous (??) on 11-Мрт-09, 18:22 
Теперь зависший процесс будет грузить все ядра заместо одного?


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

14. "В GCC 4.4 появится поддержка автоматического распараллеливан"  
Сообщение от Cobold (??) on 11-Мрт-09, 18:25 
>Если бы распаралеливался foreach, то можно было бы быть спокойными, а если
>for, то можно и огрести неприятных эффектов

Это Вы про ПХП ?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

15. "В GCC 4.4 появится поддержка автоматического распараллеливан..."  
Сообщение от User294 (??) on 11-Мрт-09, 19:05 
>скорее даже будет мешать - там уже давно распараллеливают другими методами,
>эта самодеятельность только создаст фактор непредсказуемости.

А что, насильно привязать процесс к конкретному процессору (если вдруг оно реально зачем-то надо) не судьба?

>Вот для числодробилок это действительно интересно.
>Вы часто пользуетесь числодробилками? Шутка :)

Знаете, (де)кодирование видео и аудио - тоже числодробилка.Шифрование всякое, etc.Не будем ускорять, да? :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

16. "В GCC 4.4 появится поддержка автоматического распараллеливан"  
Сообщение от . on 11-Мрт-09, 21:47 
в частности
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

17. "В GCC 4.4 появится поддержка автоматического распараллеливан..."  
Сообщение от Аноним (??) on 12-Мрт-09, 00:09 
Лучше не надо !!! Иногда второе ядро спасает... ;-(
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

18. "В GCC 4.4 появится поддержка автоматического распараллеливан..."  
Сообщение от User294 (??) on 12-Мрт-09, 00:15 
>Нафиг автоматику в этом деле, руками надёжнее и интереснее

Я вижу только одну проблему: а вагон существующего софта кто перелопатит?Вы?А, ну флаг вам в руки.Можете начать с аудио-видео кодеков и шифрования :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

19. "В GCC 4.4 появится поддержка автоматического распараллеливан"  
Сообщение от Аноним (??) on 12-Мрт-09, 00:30 
А я тут думал, что в 4.4 сейчас заморозка кода и такие крупные изменения войдут в 4.5, к примеру ....
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

20. "В GCC 4.4 появится поддержка автоматического распараллеливан"  
Сообщение от 18498 on 12-Мрт-09, 13:31 
>Если бы распаралеливался foreach, то можно было бы быть спокойными, а если
>for, то можно и огрести неприятных эффектов

Не бойся. Это компилятор будет определять включать распараллеливание или нет, глупых людей допускающих >0 false positive решений в данном вопросе не допустят

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

21. "В GCC 4.4 появится поддержка автоматического распараллеливан..."  
Сообщение от pavlinux email(ok) on 13-Мрт-09, 04:36 
Меня всегда радовали методы, используемые ДЖыСиСятами для параллельных вычислений, и особенно примеры в презентациях:

Этот цикл можно разогнать, хоть на 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  :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

22. "В GCC 4.4 появится поддержка автоматического распараллеливан..."  
Сообщение от pavlinux email(ok) on 13-Мрт-09, 04:56 
Кстати sys_sched_setaffinity() и компания на кластерах работает?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

23. "В GCC 4.4 появится поддержка автоматического распараллеливан..."  
Сообщение от pavlinux email(ok) on 13-Мрт-09, 04:59 
> А если x < a < y  :)

Упс, мы не на Алголе :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

25. "В GCC 4.4 появится поддержка автоматического распараллеливан..."  
Сообщение от Styx (??) on 15-Мрт-09, 06:45 
Железо не стоит на месте, и многие задачи, которые год назад имело смысл параллелить, сейчас спокойно обрабатываются в реальном времени на одном ядре. Скажем, на моем C2D E8500 одно ядро шифрует AES-256-CBC 100MB в секунду. Это сравнимо со скоростями дисков и сети, т.е. в большинстве случаев не является боттлнеком. Blowfish, например, еще быстрее. Про аудио кодеки вы вообще не весть к чему ляпнули - уже много лет не существует аудио кодеков, которые не укладываются в realtime. С видео тоже особых проблем нет - man mencoder | grep thread, к тому же видео оффлоудится в GPU со своей собственной параллельностью и гораздо большей эффективностью.
Короче, это автоматическое распараллеливание - фича для ленивых программистов, которая позволит в _некоторых_ случаях ускорить _некоторые_ алгоритмы. Разумеется, со своим оверхедом. А в `обычных приложениях' боттлнек вобщем-то и не в CPU, а в memory latency, так что серебряной пули нет :)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

26. "В GCC 4.4 появится поддержка автоматического распараллеливан..."  
Сообщение от DarkFlame (ok) on 22-Апр-09, 17:47 
>Железо не стоит на месте, и многие задачи, которые год назад имело
>смысл параллелить, сейчас спокойно обрабатываются в реальном времени на одном ядре.

Мир состоит из одних персоналок? Только из современных?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру