LINUX.ORG.RU
ФорумTalks

Есть какой-нибудь CGH софт не на жабе

 , ,


0

1

Собственно subj. Кому-нибудь попадалось чего-нибудь на предмет Computer Generated Hologram написанное на человеческом C, чтобы голограмму считало не десятки секунд, как тормозные жабо и питоночудовища, а за доли секунды. Можно чтоб посредством GPU, если такое вообще есть.

Конечно, хочется софтину, чтоб жрала выхлоп какого-нибудь блендера и на выходе выдавала какой-нибудь tiff с голограммой, а в идеале - фирмварь для GPU чтоб жрало OpenGL какой, а на видеовыходе - голограмма в реальном времени, но, видимо, сейчас это пока никого не интересует...

Пока что только вот такое попадается (уже лет 5) - http://corticalcafe.com/prog_CGHmaker.htm и его даже можно заставить что-то вменяемое выдавать, но это ужасно долго.

★★★★★

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

голограмму считало не десятки секунд, как тормозные жабо и питоночудовища, а за доли секунды

Слишком толсто. Жаба не тормозит.

CYB3R ★★★★★
()

чтобы голограмму считало не десятки секунд, как тормозные жабо и питоночудовища, а за доли секунды

Как меня умиляют эти наивные юноши, железно уверенные в том, что переписывание на сишечке автоматически даёт тысячекратное (sic!) ускорение...

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

Идите нахер со своей сраной жабой, если вообще не в теме.

И да, переписывание тех же алгоритмов на сишечке даёт именно что тысячекратное ускорение. А если на GPU это перекинуть - можно вообще желаемые >20fps получить.

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

ну всё! эксперты в треде!

Возражения есть? Найдутся примеры реализаций одного и того же алгоритма на разных языках, различающихся по скорости, хотя бы, раз в 100?

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

Идите нахер со своей сраной жабой

Она не моя и я сам её не люблю, но вы просто бредите.

И да, переписывание тех же алгоритмов на сишечке даёт именно что тысячекратное ускорение.

Пример?

А если на GPU это перекинуть - можно вообще желаемые >20fps получить.

А это, кагбе, вообще из другой оперы.

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

Пример?

Сцылка в топике.

А это, кагбе, вообще из другой оперы.

Из той же самой. Там либо фурье, либо тыщи точечных источников, и то и другое нужно считать параллельно. Работа для толпы ядер или GPU. Жаба этого не умела, не умеет и никогда уметь не будет.

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

Сцылка в топике.

Не шлангуйте. Где «быстрый» вариант?

Из той же самой.

Ну да, конечно, смена языка и смена аппаратной платформы - это же одно и то же.

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

Работа для толпы ядер или GPU. Жаба этого не умела, не умеет и никогда уметь не будет.

Хотел спросить «но как же java.util.concurrent, Disruptor и еще много чего», но потом прочитал комментарий:

Stanson ★ (05.10.2014 10:58:56) [брат Napilnik-а по разуму]

и забил.

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

Не шлангуйте. Где «быстрый» вариант?

Если вы настолько тупы, что не способны набрать в гуглях «CGH software» и найти всяких HOTlab и прочих cudaholo - то хотя бы попробуйте написать тупое FFT на жабе и на сишечке, может дойдёт.

Ну да, конечно, смена языка и смена аппаратной платформы - это же одно и то же.

Никакой смены аппаратной платформы нет - аппарат не меняется. Если жаба не умеет использовать имеющееся оборудование - это проблемы исключительно жабы. И вообще, насчёт платформы - java-процессоры были, но не взлетели, потому, что жаба сама по себе говно, и даже если её байткод выполнять на специально заточенном жабопроцессоре она всё равно остаётся говном.

Жаба - тормозное, жрущее память говно нужное только ненужному ынтерпрайзу и совершенно непригодное из-за своей тормознутости для расчёта голограмм. Точка.

И вообще - про жабу здесь говорить смысла нет, тут про Computer Generated Hologram.

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

java.util.concurrent, Disruptor и еще много чего

А ещё можно JNI заюзать, написать всё на нормальном языке, а жабе оставить морду. Только нахрена тут жаба?

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

//в смысле 100-кратной разницы. джавку с сишечкой там тоже можно сравнить, но разница значительно меньше

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

алсо, зависит от алгоритма. сишка — единственный язык, умеющий в realloc «из коробки».

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

есть.

Нету.

идите на сайт дебиана за этим. правда, там не джавка против С, а питон против С.

Бгг. Если что, то и на в Си-программах, и в Python-программах, БПФ считается библиотекой на Си. Возможно, одной и той же %)

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

Если вы настолько тупы, что не способны набрать в гуглях «CGH software» и найти всяких HOTlab и прочих cudaholo

Stanson

Есть какой-нибудь CGH софт не на жабе

Нуок, чё.

Никакой смены аппаратной платформы нет - аппарат не меняется.

А вы забавный. Хотя, нет.

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

Найдутся примеры реализаций одного и того же алгоритма на разных языках

т.е., произвольно взятого. БПФ вы тут сами приплели.

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

Нуок, чё.

Вообще-то, всё нежабное CGH software написано исключительно под винду и на линух его перетащить весьма проблематично - проще написать с нуля.

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

Вообще-то, всё нежабное CGH software написано исключительно под винду и на линух его перетащить весьма проблематично - проще написать с нуля.

А вас это ни на какие мысли не наводит, лол?

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

не хочу. я отвечал на конкретную пару предложений, а не на весь топик.

то, что обычной практикой является взять кучу либ, написанных на Сишке, потом написать 2 строчки на языке Х — и сказать потом, что программа написана на языке Х — это мне известно.

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

А вас это ни на какие мысли не наводит, лол?

И на какие же мысли это меня должно навести? Самому написать? Так я не любитель велосипедов, потому предпочитаю сначала выяснить, нет ли уже готового.

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

Ты так и будешь выборочно отвечать на каждое сообщение или всё-таки прочитаешь тему? ТС не может найти cgh-софт не на жабе, при чём тут браузеры?

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

Ага, вот она вся такая ненужная, но софт не на ней найти ты не можешь. Парадокс прям.

Не было бы этой долбаной жабы - автор того же CGHMaker'а написал бы его на нормальном C и работал бы он в тыщу раз быстрее.

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

ещё один. "но софт не на ней найти ты не можешь."

вот когда скажете «Ага, вот она вся такая ненужная, но „CGH software» вы на ней найти не можете“ — тогда и поговорим, за CGH, а не весь софт. заодно, тогда сразу станет очевидна глупость вашего сообщения.

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

Не было бы жабы писали бы на всяких питонах и жабоскриптах. Суть в том, что мало кто хочет гемориться с сишкой, чтобы писать весь софт на ней, а не только критичные по скорости места.

lazy_aleks
()
Ответ на: комментарий от next_time

По-моему, очевидно, что в трэде про cgh-софт мы обсуждаем его. Неожиданно, правда? А зачем ты тут приплетаешь что-то иное, я понятия не имею, видать у тебя логика, как у трёхлетнего.

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

нет не очевидно. поскольку 1)CGH софт — подмножество софта вообще 2)автор нашёл сабж, как минимум ещё и на питоне.

довольно странно, что вы влезли в тред, не удосужившись даже топик прочесть.

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

Всё очень просто - CGH это аццки проприетарная штука, раз в 100500 проприетарнее всяких GPU и видеокамер. Взрослые дяди делают её вообще на специально заточенном железе за мегабаксы. В открытый доступ просачиваются разве что студенческие работы подобные вышеоссыленной. Соответственно, студент-оптик не будет заморачиваться с написанием софта и напишет его чтобы оно хоть как-то работало, чтобы курсовик сдать. Пофиг, что оно 50 минут считает, или пофиг что это dll для LabView, результат выдаёт - и хорошо. Эта область компутерных программ ещё не вылезла из пелёнок, так что совершенно неудивительно, что софт написан на чёрти-чём и чёрти-как. Просто подумалось, что за последнее десятилетие кто-то что-то сваял не для того, чтобы курсовик сдать, а чтобы позабавится с копеечными нынче LCoS матрицами, которые нынче в любом пикопроекторе за $100 стоят и вполне годятся для создания real-time CGH. Уже давно пора этой технологии вылезти из институтов и R&D подразделений корпораций.

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

И на какие же мысли это меня должно навести?

На мысли о том, почему же жабка иногда всё-таки нужна.

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

На мысли о том, почему же жабка иногда всё-таки нужна.

Жабка реально нужна только тем, кто бабло зарабатывает написанием на ней всякого ынтерпрайза.

CGH софтина (их 2 на самом деле есть на жабе, вторая вообще упоминания не заслуживает) написана на жабе только потому, что автор только с жабой и знаком и его совершенно не волновала скорость работы софтины.

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

У тебя есть какая-то достоверная статистика про то, на чём пишут CGH «взрослые дяди»?

Да. Можно почитать соответствующие статейки в научных журналах. Практики - на Verilog, теоретики используют Matlab. Дяденьки из USAF в конце 80-х начале 90-х использовали фортран и С.

Stanson ★★★★★
() автор топика

Да вы батенька знатно поехамши. У Жабки именно скорость выполнения такая же как у Си. Вещи типа векторизации simd там искаропки: http://bugs.java.com/view_bug.do?bug_id=6340864 А что не искаропки, можно дотянуться готовыми библиотеками, или накрайняк через JNI.

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

Я не собираюсь разбираться как заставить жабу делать что-то быстро и без ужора памяти. Ни как там simd включать, ни как там многопоточность делать, ни как в JNI вынести всё критичное. Это понятно?

Есть факт - как обычно, очередная попавшаяся мне софтина на жабе аццки тормозит, аццки жрёт память, требует установки огромного и не нужного мне в системе пакета с JRE и всё такое. Я просто ищу софтину не на жабе и разбираться почему всё, написанное на жабе что мне попадалось торомзит, жрёт память и требует огромного JRE не собираюсь вообще.

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

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

это не ты должен разбираться, а те, кто пишут софт. Ты-то будешь жрать, что дают ))))

стрёмный процессор без поддержки новых фич, 128 мегабайт оперативной памяти, жесткий диск 2 гигабайта?

программистам, наверное, насрать на твои нищебродские проблемы =) Никто забесплатно под такое говно оптимизировать не станет

так что продолжай жрать что дают )))))

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

это не ты должен разбираться, а те, кто пишут софт. Ты-то будешь жрать, что дают ))))

Вообще-то я как раз и пишу софт. :) Просто велосипедить не люблю.

стрёмный процессор без поддержки новых фич, 128 мегабайт оперативной памяти, жесткий диск 2 гигабайта?

Вообще-то целевая платформа - вообще embedded без всяких жёстких дисков. :)

программистам, наверное, насрать на твои нищебродские проблемы =) Никто забесплатно под такое говно оптимизировать не станет.

Я и есть программист. И именно потому что я программист а не жабобыдлокодер мне не насрать на быстродействие, ужор памяти, объём занимаемый софтом и всё такое прочее.

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

про embedded-версию жабы ничего не знаю (кроме факта ее существования), может там действительно всё так ужасно..

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

Так, ну раз ты программист, а не жабобыдлокодер, то напиши открытую софтину на сишке, а мы все пользоваться будем.

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

Так, ну раз ты программист, а не жабобыдлокодер, то напиши открытую софтину на сишке, а мы все пользоваться будем.

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

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

Причем тут Disruptor? Никто и не сказал что в этом алгоритме нужен message passing. Если поверх массивов лопатить математику, то что Java, что С - результат приблизительно одинаков

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

А вот и ответ, например, почему тормозит, кусок сорца

http://pastebin.com/Fsepm8PC

Пусть автор кода выпьет касторки. Сварганил бы он такое на С, я бы посмотрел на его скорость, по честному, дергая alloc/free на каждой малейшей математической операции

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

Не было бы этой долбаной жабы - автор того же CGHMaker'а написал бы его на нормальном C и работал бы он в тыщу раз быстрее.

Может если бы этой долбанной жабы не было, автор CGHMaker'а вообще ничего бы писать не стал.

PolarFox ★★★★★
()

Что делает взрослый человек когда интересующего его софта не существует?

Либо пишет софтину сам, либо платит кому-либо за её написание. Выбор за тобой.

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

Что делает взрослый человек когда интересующего его софта не существует? Либо пишет софтину сам, либо платит кому-либо за её написание. Выбор за тобой.

Неправильно. Взрослый человек сначала удостоверяется, что интересующего его софта действительно нет. Для чего, собственно и был создан сей топик.

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

Причем тут Disruptor?

При том, что именно в Яве сделали самую вылизанную очередь сообщений - наверное, она зачем-тот нужна.

Никто и не сказал что в этом алгоритме нужен message passing

Считай, что это сказал я.

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