LINUX.ORG.RU
ФорумTalks

gimp и обработка изображений


0

1

Вот допустим хочу я поредактировать большую картинку (полгигабайта размером). Казалось бы, что должен делать GIMP? Он должен злостно использовать видеопроцессор для параллельной обработки. А он что делает? Он грузит CPU...

Вот допустим хочу я поредактировать большую картинку (полгигабайта размером). Казалось бы, что должен делать GIMP? Он должен злостно использовать видеопроцессор для параллельной обработки. А он что делает? Он грузит CPU...

Когда кажется - креститься надо. Мне вот совсем не кажется такого, это ваши домыслы.

BaBL ★★★★★
()

Вот, допустим, обнаружил пользователь, что поддержка рендеринга и обработки на GPU в GEGL не допилена. Казалось бы, раз он злостный линуксоид, то он должен засучить рукава и настрогать патчей в уютненьком бранче. А он что делает?

AP ★★★★★
()

Я не спец, но то что я видел по поводу параллельных вычислений — это что-то. Вкратце: это сложно.

В смысле чтобы реализовать тот же алгоритм через GPU тебе придётся весьма сурово переучиваться. Это очень хорошие, такие дипломные проекты, так как просто хорошие скорость не улучшают, а средние делают её в три раза медленнее в лучшем случае.

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 1)

Интересно, что ты там такое решил делать с этой картинкой, что тебе Gimp понадобился?

Он грузит CPU...

Есть такая беда: ну не хотят линуксоиды массово внедрять CUDA.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Evgueni

В смысле чтобы реализовать тот же алгоритм через GPU тебе придётся весьма сурово переучиваться

Ничуть: если параллелизацию алгоритма ты делал не при помощи openMP, а ручками, правки будут минимальными. А вот ежели поленился и сделал в openMP, придется потрудиться. Но все равно ничего сложного нет.

Это очень хорошие, такие дипломные проекты

Дипломный проект — алгоритм разработать, допускающий хорошую параллелизацию. А уж реализовать его — дело техники.

Eddy_Em ☆☆☆☆☆
()

Он должен злостно использовать видеопроцессор для параллельной обработки

Никому он ничего не должен.

Polugnom ★★★★★
()
Ответ на: комментарий от AP

Кстати, вопрос знатокам

Вот, допустим, наложение фильтра Gaussian Blur на 100мп снимок в другой программе происходит секунды за полторы, а в Гимпе - за 10. Примерно.
Отчего так?

ist76 ★★★★★
()
Ответ на: комментарий от ist76

Адекватный софт реализует свертку на GPU, параллельно. А неадекватный — последовательно на CPU.

// хотя, мне самому больше нравится при помощи преобразований Фурье свертку выполнять — элементарнее, правда, память жрет как не в себя.

Eddy_Em ☆☆☆☆☆
()
Ответ на: Кстати, вопрос знатокам от ist76

Написать неоптимальную программу не просто, а очень просто. Бери исходники другой программы и сравнивай с исходниками gimpа.

Evgueni ★★★★★
()
Ответ на: комментарий от Eddy_Em

Не в коем случае не нужно внедрять CUDA. Это жииирный такой железный вендор лок. Нужно брать пример с Apple — использовать OpenCL. Без оптимизации ускорение всего в двойку, но никто не мешает заняться твиканьем под соответствующую архитектуру, а в свете явления Phi смысл в CUDA становится под большим вопросом.

Evgueni ★★★★★
()
Ответ на: комментарий от Eddy_Em

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

IMHO и а) и б) указывает на то, что у CUDA нет будущего в принципе.

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 1)
Ответ на: комментарий от Evgueni

ровно одна платформа

Почему же? И в мастдайке есть куда, и в линуксе.

бинарные блобы с которыми временами народ при компиляции выполняет весьма забавные танцы с бубном

не сталкивался

IMHO и а) и б) указывает на то, что у CUDA нет будущего в принципе

А процент проектов на CUDA и проектов на openCL говорит обратное.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Почему же?

Платформа Nvidia с бинарными блобами. Ага.

А процент проектов на CUDA и проектов на openCL говорит обратное.

3dfx одно время имело единственный на рынке 3D ускоритель и уникальный софтовый интерфейс нему. Ага.

Evgueni ★★★★★
()
Ответ на: Кстати, вопрос знатокам от ist76

Вроде обсуждали уже на ЛОР. Может быть что угодно: от многопоточности (которой в гимпе пока толком нет) до мипмапов (которые появятся только с GEGL) до попросту более быстрых алгоритмов.

AP ★★★★★
()
Ответ на: комментарий от Evgueni

Во-первых, нет видеокарт, кроме nVidia. Во-вторых, как это ни печально, без блоба nVidia не работает. Вот так-то.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Вы отстали от жизни, ну и GPU это далеко не единственный способ параллелить вычисления, причём довольно неудобный. И да, блоб — это бяка при любом раскладе.

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 2)
Ответ на: комментарий от Eddy_Em

Ну, желающие геморроя могут и openCL использовать.

Вот уже фиг знает какой по счёту тред, где тебе разные люди аргументированно объясняют, что КУДА - гамно, а ты всё стараешься отбрехаться каким-то мифическим геморроем.

kranky ★★★★★
()
Последнее исправление: kranky (всего исправлений: 1)
Ответ на: комментарий от Evgueni

GPU это далеко не единственный способ параллелить вычисления

Знаю, если компьютеров много, а сеть быстрая — можно и на CPU уймы компьютеров распараллелить. Это давно умели (SETI@home)

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от kranky

Да не собираюсь я этот ваш ублюдочный OpenCL использовать. Меня полностью устраивает CUDA.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Ты опять говоришь не в ту степь. SETI@home это немного не то, хотя безусловно является одним из подвидов параллельных вычислений «для бедных» и не имеющих выход на университетский кластер в котором вполне можно организовать довольно быструю сеть.

Если для тебя ATI не является альтернативой, то я весьма толсто намекаю на реально многоядерные процессоры. man Intel Phi или Parallella в конце концов, а для эстетов и FPGA тоже вполне себе решение.

Evgueni ★★★★★
()
Ответ на: комментарий от Eddy_Em

Ох уж эти линуксоиды: раз в ОС нет зонда, так значит нужно его обязательно откуда-то притащить.

buddhist ★★★★★
()
Ответ на: комментарий от Eddy_Em

Во-первых, нет видеокарт, кроме nVidia.

Я вот щас пялюсь в GT9800 с блобом, с трудом удерживая рвотные позывы при виде того, как этот блоб сглаживает текст. Реально глазкам бо-бо. А вернуться на нуво — хрен, потому что даже FreeCAD нормально не потестируешь: именно с этой карточкой и нуво валится на элементарном выравнивании двух объектов.

AP ★★★★★
()
Ответ на: комментарий от Evgueni

я весьма толсто намекаю на реально многоядерные процессоры

Из реально доступных пока, ЕМНИП, лишь 8-ядерные есть. Маловато будет.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Ну дык и читай: здесь и сейчас для настольного калькулятора альтернативе тесла нет, но у такой идеологии нет будущего. Вообще нет. Nvidia сама это понимает и посему пилит центральный процессор.

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 2)
Ответ на: комментарий от Evgueni

А при чем здесь калькулятор? Я о задачах, требующих реально больших вычислительных мощностей, говорю.

Например, надо тебе распознать на уйме фотографий морду определенного человека. Да, пока таких алгоритмов нет — но будут же! А без хорошей параллелизации эти алгоритмы будут из несчастной пары тысяч фотографий подбирать нужные неделю!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Ты совсем дурной? Я вообще ничего не настраивал. По умолчанию с нуво было прекрасное сглаживание. Заменил драйвер — привет, мыло.

AP ★★★★★
()
Ответ на: комментарий от Evgueni

И что? Предлагаешь сидеть, ждать месяцами, пока какая-нибудь фигня посчитается? Или таки лучше использовать ту же куду и считать быстрее?

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от AP

Может у тебя там через жопу что-нибудь настроилось? Откуда же мне знать?

Eddy_Em ☆☆☆☆☆
()

Надеюсь, что с полным преходом на gegl он научится использовать gpu (при условии, что gegl научится использовать gpu).

andreyu ★★★★★
()
Ответ на: комментарий от AP

Почему в будущем времени, а не в прошлом?

О, не знал, что gegl умеет opencl. Круто.

andreyu ★★★★★
()
Ответ на: комментарий от Eddy_Em

Вы наверное оговорились, вы имели ввиду OpenCL, да? )

vertexua ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.