Представлен (http://permalink.gmane.org/gmane.comp.gcc.devel/125551) релиз StarPU 1.0.0 (http://runtime.bordeaux.inria.fr/StarPU/), плагина к GCC и набора сопутствующих runtime-библиотек для обеспечения разработки приложений для гетерогенных многоядерных систем, например, позволяя вовлекать в процесс выполнения CPU и GPU. В представлении StarPU программа представляет собой совокупность независимых задач, которые могут вызываться асинхронно и выполняться на любом соответствующем классу задачи вычислительном блоке. Поддерживается выполнение на многоядерных CPU, CUDA (NVIDIA GPU), устройствах, поддерживающих OpenCL (http://ru.wikipedia.org/wiki/OpenCL), и процессорах Cell (http://ru.wikipedia.org/wiki/Cell). Плагин доступен для GCC 4.5, 4.6 и 4.7.GCC-плагин StarPU позволяет разработчикам использовать специальные pragma-аннотации для выделения в Си коде задач ("codelet") и их реализаций, а также областей памяти, передаваемых каждой задаче. Каждая задача может иметь одну или несколько реализаций, например, реализация базирующаяся на использовании CPU и реализация, написанная на OpenCL. Runtime-библиотеки StarPU обеспечивают планирование распределения задач по доступным ядрам CPU и GPU, а также занимаются организацией передачи данных между основной памятью и GPU.
Таким образом, StarPU позволяет при выполнении приложения максимально задействовать все имеющиеся в текущей системе вычислительные ресурсы, снимая с разработчика необходимость выполнения низкоуровневых операций и позволяя сосредоточится на алгоритмических проблемах. При этом, при использовании StarPU не обязательно переписывать весь код приложения, достаточно инкапсулировать существующие функции внутрь codelet-ов. Допускается создание отдельных вариантов функций для каждой архитектуры - вариант функции для CUDA, для CPU и для OpenCL. StarPU сам выберет какие варианты использовать для обеспечения максимально эффективности выполнения на текущей системе и обеспечит прозрачный доступ к указанным данным.
URL: http://permalink.gmane.org/gmane.comp.gcc.devel/125551
Новость: http://www.opennet.me/opennews/art.shtml?num=33484
Я джва года ждал эту фичу)
Кстати, а почему в новости о гетерогенной среде умалчивается? А говорится только о ресурсах текущей системы?
Как раз в этом и весь фикус!
Штуки типа cell, gpu и прочая по умолчанию подразумевают гетерогенную среду ;)
> Штуки типа cell, gpu и прочая по умолчанию подразумевают гетерогенную среду ;)а нет, как оказывается...
где-то вычитал что все это работает в пределах одного SMP-узла.
GPU - отдельная куча процов на отдельной шине, они о каком-то SMP знают чуть менее чем ничего. Да и в целл примерно так же: есть проц а у него еще и пачка сопроцессоров, которые тоже в принципе процессоры, но другие и адаптированные на числодолбеж векторов, в духе SIMD. Где у вас тут _СИММЕТРИЯ_? Та которая занимает букву S в слове SMP?
> GPU - отдельная куча процов на отдельной шине, они о каком-то SMP
> знают чуть менее чем ничего. Да и в целл примерно так
> же: есть проц а у него еще и пачка сопроцессоров, которые
> тоже в принципе процессоры, но другие и адаптированные на числодолбеж векторов,
> в духе SIMD. Где у вас тут _СИММЕТРИЯ_? Та которая занимает
> букву S в слове SMP?я более того скажу - железо вообще ни о каком SMP не знает (тем более что я не утверждал ни того, ни другого) - это забота ПО (ОС - в частности).
ради чего вброс собственно?
Идея отличная, но кол-во глюков в софте вырастет в кубической степени :) И дебагать этот винегрет будет то ещё удовольствие. Но если употреблять только при крайней необходимости и в особо тормознутых местах, то возможно будет толк.
То есть ты предлагаешь запретить многопоточное программирование?
Нет, просто представил сколько комбинаций может возникнуть при запуске в гетерогенной среде, если есть скажем 5 или более реализаций каждого алгоритма, самих алгоритмов так же 5 или более, все это в цикле и заранее неизвестно что и на чем будет исполнено. А если добавить зоопарк железа у пользователей и глюки отдельных реализаций в железе и драйверах ...
Лицензию на gcc нарушают.. gcc под gpl v3, а плугин LGPL v2, а ведь Столман запретил GPL v2 линковать с GPL v3.
ты перегрелся, что ли?
Видеокарты часто перегреваются.Скоро будем покупать процессор и материнку к видеокарте.
> Видеокарты часто перегреваются.
> Скоро будем покупать процессор и материнку к видеокарте.дядя просто только сейчас узнал что GPL лицензии между собой не совместимы. И что GPL оказывается может навязывать другим какую лицензию использовать.
Учитывая тенденции - нахрена вообще разделять процессор и видеокарту?
GPU - generic processor unit, и никаких гвоздей.Интересно, когда случится :)
GPL - Generic Processor Language
> Учитывая тенденции - нахрена вообще разделять процессор и видеокарту?интел вон уже объединили.
По-честному на одном кристале? Или в одном корпусе?АМД как раз и собирается создать настоящий "GPU" APU. По крайней мере там уже сейчас всё на одном кристале. В ближайшие годы должны объединить доступ к кешу. Авось когда-нибудь современное понятие GPU сотрётся вовсе. И игры снова будут летать на... CPU ("GPU" APU).
> По-честному на одном кристале? Или в одном корпусе?начало положено.
аха, AMD Geode, не?
У интела давно уже всё на одном кристалле. Вы бы хотя бы темой поинтересовались прежде чем делать такие заявления
Я использовал вопросительный знак, хотя звучало да, неоднозначно. А как давно (с момента доступности в магазинах)? И как раз интел до сих пор позволяет программировать только CPU через OpenCL. Или у них уже есть какая-то бета (для реально доступного железа)?
> И как раз интел до сих пор
> позволяет программировать только CPU через OpenCL.+1
а вот это как раз вопрос - что мешает использовать и GPU? коли оно уже на одном кристалле...
>> И как раз интел до сих пор
>> позволяет программировать только CPU через OpenCL.
> +1
> а вот это как раз вопрос - что мешает использовать и GPU?
> коли оно уже на одном кристалле...бесполезность в ресурсоемких вычислениях, ваш Кэп
> У интела давно уже всё на одном кристалле. Вы бы хотя бы
> темой поинтересовались прежде чем делать такие заявления
> АМД как раз и собирается создать настоящий "GPU" APU. По крайней мере
> там уже сейчас всё на одном кристале.А ARM уже много лет как это сделали, правда GPU у половины хиленькое, но от пачки SIMD элементов еще никому хуже не становилось :)
>> Учитывая тенденции - нахрена вообще разделять процессор и видеокарту?
> интел вон уже объединили.Амдшники даже раньше. И видяхи у них куда мощнее. Более того, амд активно пилит открытые драйвера с opencl. И интель в общем то грозится. Тупо же такую пачку SIMD-процессоров использовать ТОЛЬКO для графики, если можно и к остальному припахать.
почитай что у столмана написано. GPLv2 и ее производные _НЕСОВМЕСТИМЫ_ с gpl v3. а gcc распространяется ровно под этой лицензией. А значит они обязаны использовать GPL v3 и точка.
> обязаны использовать GPL v3 и точка.Там написано "...or later", поэтому не вижу проблем просто написать что теперича это LGPLv3?
>gcc под gpl v3, а плугин LGPL v2Я не буду говорить кто ты и что ты (прими это как прямое послание на\W\W\W).
$ head -n15 README
# StarPU --- Runtime system for heterogeneous multicore architectures.
#
# Copyright (C) 2009-2012 Université de Bordeaux 1
# Copyright (C) 2010, 2011 Centre National de la Recherche Scientifique
#
# StarPU is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or (at
# your option) any later version.
#
# StarPU is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# See the GNU Lesser General Public License in COPYING.LGPL for more details.
>>gcc под gpl v3, а плугин LGPL v2
> # the Free Software Foundation; either version 2.1 of the License, or
> (at
> # your option) any later version.Т.е. я _имею право_ взять этот софт под лицензией LGPL 2.1, что якобы противоречит GPL 3.
не якобы - а противоречит. Столман специально ввел ограничение на совместимость между [L]GPL v2 и [L]GPL v3. И специально перевел gcc на GPL v3.Так что вот так.
Пруф давай где говорится что "Столман специально ввел ограничение на совместимость между [L]GPL v2 и [L]GPL v3".
почитай матрису совместимостей на сайте GNU?
и вообще тебя что в гугле забанили?
>почитай матрису совместимостей на сайте GNU?
>и вообще тебя что в гугле забанили?Ан-нет, ГСМ'щик, ты у меня так просто не отвертишься!
Ты заявляешь - значит тащи пруф который доказывает что "Столман специально ввел ограничение на совместимость между [L]GPL v2 и [L]GPL v3". Тащи ссылки и/или заявления Столманна где он говорит что "специально ввел ограничение на совместимость между [L]GPL v2 и [L]GPL v3".
PS: Похоже что ты из-за проблесков ГСМ не можешь сообразить к чему речь. Думай.
тебе ссылки дали - не можешь найти - читай до разумения.. помогает.
>Похоже что ты из-за проблесков ГСМ не можешь сообразить к чему речь. Думай.Это и подтвердилось. Ты не можешь сообразить что к чему.
Еще раз пишу: "Ты заявляешь - значит тащи пруф который доказывает что "Столман специально ввел ограничение на совместимость между [L]GPL v2 и [L]GPL v3". Тащи ссылки и/или заявления Столманна где о2н говорит что "специально ввел ограничение на совместимость между [L]GPL v2 и [L]GPL v3".
ТАЩИ ПРУФФ!!!
PS: Предлагаю такой вариант выхода (сам ты не сообразишь): я опишу что к чем только если ты пожертвуешь в фонд википедии 1000р. Если нет - ходи дальше ГСМ'ным быдлом.
- Включи мозги и ты поймешь почему разработчик выпустил под "GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version."- Если не устраивает - катись колбаской xD
> Т.е. я _имею право_ взять этот софт под лицензией LGPL 2.1, что
> якобы противоречит GPL 3.Однако я не вижу проблем взять этот код, написать что теперича он LGPLv3 и ... вуаля, мы более ничего не нарушаем :). Ни со стороны требования автора, ни со стороны требований LGPL3. Что за бред вы тут развели?
Мечтаю чтобы gcc сам компилятор переписали с возможностью использования этого плугина (компиляция сорцов будет на всех вычислительных ресурсах).
> Мечтаю чтобы ....На iPhone/iPad есть одна кнопка - Сделать Круто!
Спешу вас огорчить: вам в голову успешно нагадили маркетологи. Теперь вам надо обратиться к промывателю мозгов (можешь к Ване обратиться).
Нет, это в Windows 8. На iPad нет кнопок — только надпись "тебе уже круто".
Это уже скорее не Star, а Constellation :)
а есть уже примеры программ, где уже видна выгода от использования GPU?
> а есть уже примеры программ, где уже видна выгода от использования GPU?угу. крузис.