GCC-4.6.1... проблемы или их отсутствие?
brothermechanic 30 сентября, 2011 - 13:22
Здрасвтвуйте.
Хотелось бы узнать о целесообразности перехода на новый, но замаскированный пакет gcc-4.6.1.
Я занимаюсь графикой, основной пакет - blender.
Прочел на blendernation о повышении стабильности и производительности благодаря новой версии компилятора 4.6
Так вот...
Оно того стоит? я имею в виду если просто размаскировать gcc собираться будет?
потом еще
у меня i7, значит флаги можно поставить
CFLAGS="-march=corei7 -O2 -pipe"
????
»
- Для комментирования войдите или зарегистрируйтесь
Почитайте
Почитайте багзилу.
Попробуйте, только не удаляйте текущий gcc, а новым соберите только нужный пакет/пакеты.
спасибо
спасибо
т.е.
скомпилить
переключиться на 4,6 (как?)
компилить все на 4,6 (если не работает скомпилить проблемные пакеты на 4,4)
правильно?
думаю собирать world на 4.6
думаю собирать world на 4.6 не стоит
для начала соберите blender(тот пакет который лучше работает с 4.6)
для переключения gcc-config
.
Кто будет собираться - сам GCC? Дык чего бы ему не собраться?.. Только не забывайте об осознанном применении юз-флагов (это, ессно, касается как GCC, так и всего остального)
... -march=native -mtune=corei7-avx ...
P.S. Пользую сабж на различных системах с конца марта, косяков не наблюдал (за исключением случаев попытки сборки откровенно устаревшего ПО, сейчас уже и не вспомню - какого именно)
Мы тоже не всего читали Шнитке!.. © В. Вишневский
USE gcc-4.6.x
P.S. Пользую сабж на различных системах с конца марта, косяков не наблюдал (за исключением случаев попытки сборки откровенно устаревшего ПО, сейчас уже и не вспомню - какого именно)
USE "lto" не включали?! читал еще до выхода релиза, что решат проблему с этим флагом. Насколько я помню (могу и ошибаться), с этим флагом время компилирования пакетов должно уменьшиться.
.
Само собой разумеется - флаг включен
Ошибаетесь, LTO не уменьшает время сборки, данная фича предназначена для оптимизации собираемого кода
Мы тоже не всего читали Шнитке!.. © В. Вишневский
Благодарю )) за поправку
Благодарю )) за поправку
Всем спасибо
Собрал мир на 4,6,1.
Ошибок небыло, так что удачно
Сейчас первые впечатления что делал незря..
рано говорить о стабильности, но прирост скорости вычислений физики/рейтрейсинга +8% !!!!!!!!
собирал с CFLAGS="-march=native -O2 -pipe"
зы: [ebuild R #] sys-devel/gcc-4.6.1-r1 USE="fortran graphite mudflap (multilib) nls nptl openmp (-altivec) -bootstrap -build -doc (-fixed-point) -gcj -go -gtk (-hardened) (-libffi) -multislot -nocxx -nopie -nossp -objc -objc++ -objc-gc -test -vanilla"
зыы: как правильно удалить старый gcc-4.4?
.
Имхо, libffi ни разу не помешает... И имеются у меня некоторые сумнения по поводу openmp (а конкретно - профит при использовании на одиночном хосте без кластеризации), Если кто "в теме" - просьба поделиться линками на источники инфы, а то как-то мутновато с этим вопросом на openmp.org...
Если в eselect у вас выбран 4.6, 4.4 должен сам удалиться по emerge -c (ессно, если какой-либо установленный пакет не требует конкретной версии GCC)
Мы тоже не всего читали Шнитке!.. © В. Вишневский
и соответственно, сделать
и соответственно, сделать gcc-config (после смены версии gcc)
openmp нужен
openmp параллелит некоторые вещи которые могут быть распараллелены без существенного изменения логики программы.(в случае использования его препроцессорных деректив)
Например если цикл не имеет общих данных в разных итерациях - он их параллелит.
Имеет смысл это использовать ИМЕННО на одиночных хостах без кластеризации, так как это всего лишь удобный интерфейс к pthreads(на linux).
i7 разные если первые, то
i7 разные
если первые, то corei7
если вторые - corei7-avx
по поводу мира - на ~x86 весь мир собран - полёт нормальный
за исключением первогруба и ещё каких-то пары пакетов
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
cuda не компилится на 4,6 (((
cuda не компилится на 4,6 (((
cuda c 4.4 собирается
cuda c 4.4 собирается точно
для таких вещей у меня костыль в bashrc портажа
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
megabaks, по подробнее
megabaks, по подробнее пожалуйста
что за файл - "bashrc"
/etc/portage/package.compilers я создал
/etc/portage/bashrc
/etc/portage/bashrc
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
неее... (((( все равно не
неее... (((( все равно не помогает
при компиляции blender-cycles выдается ошибка
в логе пишет это
/opt/cuda/bin/../include/host_config.h:82:2: error: #error -- unsupported GNU version! gcc 4.5 and up are not supported!
#cat /etc/portage/package.compilers
dev-util/nvidia-cuda-toolkit 4.4.6
dev-util/nvidia-cuda-sdk 4.4.6
media-libs/freeimage 4.4.6
sys-boot/grub 4.4.6
#cat /etc/portage/bashrc
LC_ALL=en_US.UTF-8
#COMPILERS
if [ -f ${ROOT}/etc/portage/package.compilers ]; then
while read target ver; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/$ver:$ROOTPATH"
fi
done < ${ROOT}/etc/portage/package.compilers
fi
а у тебя 4.4.6 стоит?
а у тебя 4.4.6 стоит?
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
даи если его выбрать в
да
и если его выбрать в gcc-config появляется ошибка
# USE='cuda' emerge -av blender-cycles
cmake: /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.6/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by cmake)
так у тебя blender-cycles и
так у тебя blender-cycles и не прописаны в package.compilers
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
прописал... та же фигня Что ж
прописал... та же фигня
Что ж получается, блендер у меня теперь оптимизированный, но не компилируется!?
логи!
давай уже логи
и с какого края здесь блендер?
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
Блендер имеет в зависимости
Блендер имеет в зависимости nvidia-cuda-toolkit (устанавливается из убунтовского deb пакета),
которая, в свою очередь, выступает в роде компилятора для GPU-ретдера (модуля блендера), называемого cycles
Так вот эта самая cuda в логе пишет что не принимает на gcc-4.5 и выше
http://paste.org.ru/?9lyew1
А предложенная схема выше не действует в моем случае
Даже если поменять гцц через gcc-config - не исправляет ситуацию
ebuild
запости куда-нибудь ебилд
поковыряю
возможно что и придумаю
просто получается, что cuda-компилер запускается по полному пути, а не относительным
в этом случает на PATH/ROOTPATH ей действительно плевать
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
Вот, будь
Вот, будь добр
https://bugs.gentoo.org/show_bug.cgi?id=377857
ну что могу сказать...
http://paste.pocoo.org/show/494816/
таки мой костыль работает
сейчас думаю как побороть GLIBCXX_3.4.15
UPD: мой bashrc http://paste.pocoo.org/show/494817/
сравни/попробуй - может кривой копипаст был просто
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
пофиксил
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
ну и?
что расскажешь?
кстати - тулкит куды нормально и с 4.6.1 собирается
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
megabaks, очень признателен
megabaks, очень признателен за помощь!
Извини за поздний ответ
так у Вас blender-cycles собрался с кудой на 4,6,1 ???? или нет?
тулкит куды устанавливается вроде из бинарного пакета, поетому ему неважен компилятор
Спасибо за труды и жду ответа
собрался при сборке именно
собрался
при сборке именно тулкита плевать на версию
сам тулкит не умеет gcc овер 4.4.*
и сей костыль решил проблему
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
не работает(((
все сделал по вашему рецепту
и вот...
http://paste.org.ru/?5k5ivp
# gcc-config -l
[1] x86_64-pc-linux-gnu-4.4.6
[2] x86_64-pc-linux-gnu-4.6.1 *
странно
попробуй мой bashrc
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
log
вот полный лог
кстати - надобно изменить строку
на
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
На мне проклятье?
[ 76%] Built target bf_intern_elbeem
make: *** [all] Ошибка 2
* ERROR: media-gfx/blender-cycles-9999 failed (compile phase):
* emake failed
(это на вашем "диком" bashrc)
пс:megabaks, мне уже стыдно вас донимать, вообщем не работает и ладно, буду ждать обновления куды....
возможно :3
а что за портаж?
не 2.2 случаем?
у меня портаж 2.1 и куда 4.0
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
Вот какие версии
[ebuild R ~] sys-apps/portage-2.1.10.32 USE="(ipc) -build -doc -epydoc -python2 -python3 (-selinux)" LINGUAS="-pl"
[ebuild R ] dev-util/nvidia-cuda-toolkit-4.0 USE="-debugger -doc -profiler"
хм...
аналогично всё, только куда с profiler...
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
я дурак!
замени в bashrc i686 на x86_64 и всё заведётся :)
или ещё лучше так
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
wxGTK-2.8.12.1 и gcc-4.6.2
Так, просто для справки. Перешел на gcc-4.6.2 и постепенно собираю им, уж почти месяц как. Все благополучно, но бывают и нюансы. Памятный один нюанс возник на днях со сборкой wxGTK-2.8.12.1 -- не собирается оно gcc-4.6.2. На этапе configure checking checking for thr_setconcurrency определяется как yes при сборке gcc-4.6 (но как no при сборке gcc-4.5), и в дальнейшем при компиляции имеем
... src/unix/threadpsx.cpp:51:24: fatal error: thread.h: No such file or directory
какового файла в системе уже нет. Копать глубже не стал, но сделал gcc-config 1 && emerge -1 wxGTK && gcc-config 2, и считаю инцидент исчерпанным.
:}
>считаю инцидент
>считаю инцидент исчерпанным
до обновления до 2.8.13, например )
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy