Ru-Board.club
← Вернуться в раздел «Программы»

» Программы для разработки, тестирования, оптических систем

Автор: glazar
Дата сообщения: 26.02.2013 00:37
Cano_J
У него получилось в 125 раз быстрее, но я отношусь к этому скептически, потому что цпу реализация, с которой он сравнивал была сделана на скорую руку. Кроме этого он сделал также ОпенЦЛ, который можно запускать и на цпу, и на гпу. Так вот выигрыш КУДы на гпу относительно ОпенЦЛ на ЦПУ был скромнее, ускорение меньше 60. И наконец ОпенЦЛ на гпу оказался медленнее Куды на гпу на 30-50%, по-видимому, из-за более слабой ффт библиотеки, которая поставляется амд.

Igorr
У опенцл код менее читаемый, чем у куды. На мой взгляд. Я в программировании совсем не силён, но в Куда коде сориентироваться мог, а опенцл как-то не очень.
Автор: EgorBogat
Дата сообщения: 26.02.2013 02:13
Здравствуйте!
Автор: A_P_V
Дата сообщения: 26.02.2013 06:14

Цитата:
Технология NVIDIA® CUDA™
Технология CUDA открывает возможности ядер графического процессора и ускоряет выполнение самых требовательных к ресурсам задач, таких как перекодирование видео, моделирование физических процессов, трассировка луча и другие, обеспечивая невероятный прирост производительности по сравнению с традиционными CPU. (отсюда, возможности и преимущества http://www.nvidia.ru/object/product-geforce-gtx-460-ru.html )

Уже есть оптический CAD, использующий CUDA - http://www.linzik.hd.ru/manual_rus/manual.htm

Вроде бы он сравнение проводил по быстродействию.
Автор: Cano_J
Дата сообщения: 26.02.2013 17:55
http://www.radiantzemax.com/forum-en/Topic675.aspx
вдруг кто не видел)
интересно почему автор линзика счел стоящим ввести поддержку, а они нет
Автор: DSER
Дата сообщения: 26.02.2013 19:19
Cano_J

Цитата:
http://www.radiantzemax.com/forum-en/Topic675.aspx
вдруг кто не видел)
интересно почему автор линзика счел стоящим ввести поддержку, а они нет


У каждого своя задача, у одного получить грант на разработку с поддержкой CUDA, а у другого, сопровождать коммерческий продукт.

Каждому своё...
Или я не прав ?
Автор: paparazzo
Дата сообщения: 28.02.2013 14:02
Какой операнд в Zemax выводит значение яркости (Luminance) на приемнике?
Или как её в оптимизации задать?

Что-то NSDD не выводит...
Автор: Igorr
Дата сообщения: 28.02.2013 16:29
paparazzo

Цитата:
значение яркости (Luminance) на приемнике

Что-то NSDD не выводит...

NSDD вроде не может выводить яркость (поверхностно-пространственную плотность светового потока, исходящего от поверхности) - только то, что приходит на приемник.
Автор: paparazzo
Дата сообщения: 28.02.2013 17:25
Да, это понятно!
Но Detector Viewer ее показывает (с определенными ограничениями). Вот думаю как занести в оптимизатор....
Автор: GlozArino
Дата сообщения: 28.02.2013 19:10
[more] Здравствуйте, уважаемые! После прочтения некоторых моментов данного форума у меня сложилось положительное впечатление о ваших возможностях в расчете оптических систем. Сразу говорю в оптике не силен. Я студент 5 курса. Начался диплом! Специализируюсь на выращивании монокристаллов и чудодействиях по превращению их в поликристаллическую структуру с введение различных добавок, которые влияют на опт. и мех. свойства ну и в дальнейшем получения световодов и т.д и т.п. Ну, к делу! Нужно рассчитать габариты линзы или какой либо системы линз(вроде именуется «световой пушкой». Так вот, нужно чтобы излучение из CO2 лазера(диаметр отверстия 1мм, рабочая длина волны 10,6, параллельное излучение) можно было сфокусировать через линзу или (повторяюсь) систему линз в пятно (диаметр 0.1 мм, фокусное расстояние 56мм). Проблема в том (мне так кажется) линзы будем изготавливать сами (коэффициент преломления материала n=2.4, пропускание в диапазоне дальнего ИК) и нужно рассчитать радиус кривизны линзы и вид поверхности наверно.


З.Ы. Не судите строго, если вас смешит, что-то написанное мною, ни разу не сталкивался с подобным, может, посоветуете с чего хотя бы начинать.
[/more]
Автор: Igorr
Дата сообщения: 28.02.2013 19:11
paparazzo
Цитата:
Вот думаю как занести в оптимизатор....
Зависит от задачи, конечно. Я, например, использовал среднее отклонение от средней величины flux/area по зонам приемника.
Автор: Cano_J
Дата сообщения: 28.02.2013 22:00
Подскажите пожалуйста, можно ли макросом (после его выполнения) или еще как перевести компьютер в спящий режим?
A_P_V, Igorr спасибо
Автор: Igorr
Дата сообщения: 28.02.2013 22:51

Цитата:
или еще как перевести компьютер в спящий режим?

Напр. использовать WinAPI "SetSuspendState(...)" или Windows "powrprof.dll" в своей dll.
Автор: A_P_V
Дата сообщения: 01.03.2013 05:29

Цитата:
Подскажите пожалуйста, можно ли макросом (после его выполнения) или еще как перевести компьютер в спящий режим?

я использую программу PowerOff. Можно выключать по времени или по простою процессора (уровень загрузки за определенный период меньше заданного).
Автор: GlozArino
Дата сообщения: 01.03.2013 12:12
[more] Здравствуйте, уважаемые! После прочтения некоторых моментов данного форума у меня сложилось положительное впечатление о ваших возможностях в расчете оптических систем. Сразу говорю в оптике не силен. Я студент 5 курса. Начался диплом! Специализируюсь на выращивании монокристаллов и чудодействиях по превращению их в поликристаллическую структуру с введение различных добавок, которые влияют на опт. и мех. свойства ну и в дальнейшем получения световодов и т.д и т.п. Ну, к делу! Нужно рассчитать габариты линзы или какой либо системы линз(вроде именуется «световой пушкой». Так вот, нужно чтобы излучение из CO2 лазера(диаметр отверстия 1мм, рабочая длина волны 10,6, параллельное излучение) можно было сфокусировать через линзу или (повторяюсь) систему линз в пятно (диаметр 0.1 мм, фокусное расстояние 56мм). Проблема в том (мне так кажется) линзы будем изготавливать сами (коэффициент преломления материала n=2.4, пропускание в диапазоне дальнего ИК) и нужно рассчитать радиус кривизны линзы и вид поверхности наверно.


З.Ы. Не судите строго, если вас смешит, что-то написанное мною, ни разу не сталкивался с подобным, может, посоветуете с чего хотя бы начинать. [/more]
Автор: Barabek
Дата сообщения: 01.03.2013 14:02

Цитата:
Ну конечно, цикл на одном от 0 до 15 а на другом - от 16 до 30! Ясно выразился?


Не совсем. Поподробнее, пожалуйста. И не обязательно для земакса. Может можно для других пакетов? Т.е. имеется 2 компа с установленным софтом. Задача сделать нано/микрокластер с целью ускорения оптимизации путём распараллеливания расчётов. Можно ли это сделать штатными программными средствами или необходимо писать какой-то диспетчер, который будет раскидывать данные по процессорам, число которых 2 + 4? И, вообще, какие процедуры хорошо распараллеливаются?
Автор: paparazzo
Дата сообщения: 01.03.2013 14:19

Цитата:
И, вообще, какие процедуры хорошо распараллеливаются?


Трассировка лучей, например! Дискретное преобразование Фурье тоже.
Да много таких задач, думаю. особенно где нужно считать большое количество независимых циклов.
Автор: Barabek
Дата сообщения: 01.03.2013 15:24

Цитата:
Трассировка лучей, например!


Т.е. алгоритм примерно такой:

1) Задаём исходную схему - пусть будет простейший триплет с фокусным расстоянием 100 мм, угловым полем 2w = 40 и отверстием 1:2. Зададим, даже, кривизны всех поверхностей, кроме первой, нулевыми (т.е. 2 и 3 линзы - плоскопараллельные пластины).
2) Конструируем оценочную функцию, куда включаем все конструктивные ограничения (на воздушные промежутки, толщины и диаметры линз и т.п.) и, собственно, чего мы хотим от системы - фокус, пятно, ЧКХ и т.п.
3) У нас есть 4 вещи - а) первоначальная - очень и очень грубая система; б) оценочная функция с желаемыми характеристиками системы; в) разрешённые переменные; г) собственно n (в данном случае n = 6) процессоров, стоящих "под парами" и готовых к вычислениям.

А теперь вопрос: как организовать взаимодействие этого всего, чтобы на каждом из процессоров проводились уникальные расчёты, т.е. не получилась ситуация, что на разных процессорах обрабатываются одинаковые данные. Иными словами, как я это понимаю, нужен некий диспетчер, который будет раскидывать поступающие на него данные на разные процессоры, в зависимости от их загрузки, принимать обратно (с процессоров) вычисленные значения оценочной функции, сравнивать их и, принимая за оптимум функцию с минимальным (или максимальным, неважно, в зависимости от того, как задана сама функция) значением, изменять разрешённые переменные и повторять цикл заново. Как этот диспетчер сконструировать? Писать свой код? Или может у меня слишком сложное понимание и всё намного проще?
Автор: wyndyday
Дата сообщения: 01.03.2013 15:31
GlozArino

Почитайте про Гауссовские пучки и как они фокусируется. Пятно 0.1 мм относительно очень большое. Может надо будет построит телескоп чтоб получить такой размер на такой дистанции (56мм). Может быт хватит простых линз из каталога.
Автор: Igorr
Дата сообщения: 01.03.2013 15:35
Barabek

Цитата:
Как этот диспетчер сконструировать? Писать свой код?

Речь о земакс или вообще? Если первое, то см. http://forum.ru-board.com/topic.cgi?forum=5&topic=35157&start=1900#2; если второе, то см. OpenMP, MPI, OpenCL, C++ AMP и т.п.
Автор: Barabek
Дата сообщения: 01.03.2013 15:45
Ещё проще выражусь: есть несколько глобальных проектов (начиная от расшифровки генома и заканчивая поиском внеземных форм жизни), которые обрабатывают поступающую информацию путём объединения частных компьютеров в единый суперкластер. На каждом из компьютеров данного суперкластера установлена маленькая подпрограмма, отвечающая за приём и выдачу результатов во вне. Этакий диспетчер. Как бы создать такой диспетчер для решения задач оптимизации, когда установил подпрограмму на все имеющиеся в распоряжении компьютеры (даже без установленного спец.софта) и пусть эта сеть считает то, что нам нужно. А сам спец. софт можно только на одном - главном компьютере установить.

Добавлено:

Цитата:
если второе, то см. OpenMP, MPI, OpenCL, C++ AMP


В том то и дело, что в параллельном программировании я не спец. Но меня эта задача очень интересует и интересно, для начала, создать очень и очень простую сеть, которая бы могла что нибудь простое посчитать, тот же триплет или даже дублет. Чтобы хоть какой-то опыт приобрести. А потом задания уже и усложнять можно.
Автор: megabyte1
Дата сообщения: 01.03.2013 15:59
посоветуйте программу несложную для расчёта оптики, преломления лучей
чтобы не надо было в ней разбираться три года, а, чем интуитивно понятнее, тем лучше
и, возможно ли, чтобы можно было задать требуемый ход луча, под который "создастся" оптика, а не наоборот?
и, желательно, чтобы, визуально конструировалось, как в векторном редакторе, без знания формул и специфических терминов
Автор: paparazzo
Дата сообщения: 01.03.2013 15:59

Цитата:
А теперь вопрос: как организовать взаимодействие этого всего, чтобы на каждом из процессоров проводились уникальные расчёты, т.е. не получилась ситуация, что на разных процессорах обрабатываются одинаковые данные.


Может я и ошибаюсь, но в Zemax все это реализовано.

Что сделать можно - четырех-процессорный сервер, каждый процессор по 4 ядра, по 2 потока. Т.е. итого имеем 32 потока.
Zemax сам делит свои вычисления, вплоть до 64 потоков. Соответственно и памяти требует, как писали выше, 1 Гб на поток в среднем.

Например глобальный поиск, распараллеливается очень хорошо! Это вы имели ввиду?
Автор: Igorr
Дата сообщения: 01.03.2013 16:02

Цитата:
В том то и дело, что в параллельном программировании я не спец. Но меня эта задача очень интересует

Тогда "букварь - в зубы" - и вперед!
Автор: paparazzo
Дата сообщения: 01.03.2013 16:02

Цитата:
посоветуйте программу несложную для расчёта оптики, преломления лучей
чтобы не надо было в ней разбираться три года
и, возможно ли, чтобы можно было задать требуемый ход луча, под который "создастся" оптика, а не наоборот?


Что конкретно нужно сделать?
Что значит требуемый ход луча? такого критерия для построения оптической системы я не знаю.

А программы все похожи. Задаем поля, апертуру, элементы системы. Посоветую пожалуй Linzik. Там все вроде очень просто.
Автор: Igorr
Дата сообщения: 01.03.2013 16:07
paparazzo

Цитата:
Может я и ошибаюсь, но в Zemax все это реализовано.

Можно ссылку? Barabek пишет
Цитата:
имеется 2 компа с установленным софтом. Задача сделать нано/микрокластер
Автор: Barabek
Дата сообщения: 01.03.2013 16:09

Цитата:
Это вы имели ввиду?


Нет. Имеется в виду не готовый коммерческий продукт, который неизвестно как работает (очень может быть что великолепно, но алгоритмы являются тайной), а некая подпрограмма, которая будет управлять вычислениями на удалённых компьютерах, создавая своеобразную вычислительную сеть, узлы которой получают команды из единого центра и служат, единственно для чего - так это для проведения вычислений. Оценка и дальнейшие решения принимаются, естественно, на главном компьютере, на котором и установлено требуемое ПО.

перечитал и подумал - это же что-то типа вируса получается
Автор: Igorr
Дата сообщения: 01.03.2013 16:09

Цитата:
Что значит требуемый ход луча? такого критерия для построения оптической системы я не знаю.
Напр. для активного сканирования.
Автор: Cano_J
Дата сообщения: 01.03.2013 21:14
Подскажите пожалуйста, как можно ввести значения числа трассируемых лучей в макросе, не используя детектора перед приемником( в смысле вспомогательного только для этой цели)/(т.к. скорость вычислений уменьшается)? При условии что число лучей должно меняться в процессе работы макроса.
Автор: yaroslavvv
Дата сообщения: 01.03.2013 23:51
Скажите, а если я, в сравнении со специалистом, вообще не понимаю в оптике, ну только собирающая/рассеивающая линза ну и может ещё пара умных слов, то есть какая-то простая и интуитивно понятная программа, которая помогла бы мне соорудить микроскоп? Потому, что из того, что я читал, всё как-то выходит не очень понятно, разные схемы окуляров, составленные вплотную линзы, если я правильно понял, конечно...
Это в качестве хобби на выходных, что ли. Т.е. для бытового применения, а именно рассматривать воду из аквариума и её микрожителей.
Ожидаемый уровень увеличения от х100. Фокусное расстояние — сантиметры.

Или я это зря такое придумал и у меня ничего не получится в домашних условиях? Единственное, что у меня есть, это знакомый мастер, который может сделать нужные линзы, вроде того, что вырезать нужный диаметр из заготовок (мастерская очков).

Ну и уж наберусь наглости спросить, может есть кто желающий помочь добрым словом в личном общении? А я может тоже чем помогу, я web-разработчик.
Автор: CorwinS
Дата сообщения: 02.03.2013 11:08

Цитата:
Скажите, а если я, в сравнении со специалистом, вообще не понимаю в оптике, ну только собирающая/рассеивающая линза ну и может ещё пара умных слов, то есть какая-то простая и интуитивно понятная программа, которая помогла бы мне соорудить микроскоп? Потому, что из того, что я читал, всё как-то выходит не очень понятно, разные схемы окуляров, составленные вплотную линзы, если я правильно понял, конечно... Это в качестве хобби на выходных, что ли. Т.е. для бытового применения, а именно рассматривать воду из аквариума и её микрожителей. Ожидаемый уровень увеличения от х100. Фокусное расстояние — сантиметры.   Или я это зря такое придумал и у меня ничего не получится в домашних условиях? Единственное, что у меня есть, это знакомый мастер, который может сделать нужные линзы, вроде того, что вырезать нужный диаметр из заготовок (мастерская очков).   Ну и уж наберусь наглости спросить, может есть кто желающий помочь добрым словом в личном общении? А я может тоже чем помогу, я web-разработчик.


Ну это также как если бы я спросил вас:

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

понятно?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378

Предыдущая тема: Maxthon 3.x - быстрый и мощный браузер


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.