2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8 ... 10  След.
 
 Re: Перемножение матриц - конкурс для программистов
Сообщение16.02.2010, 01:45 
Dongara в сообщении #289387 писал(а):
Вот постарается - и на бомжовую похлебку заработает.
Вы считаете, что участвовать в соревнованиях можно только за деньги?

 
 
 
 Re: Перемножение матриц - конкурс для программистов
Сообщение16.02.2010, 02:03 
venco в сообщении #289389 писал(а):
Dongara в сообщении #289387 писал(а):
Вот постарается - и на бомжовую похлебку заработает.
Вы считаете, что участвовать в соревнованиях можно только за деньги?

Эта задача не для соревнований: наколенные методы здесь не пройдут.

 
 
 
 Re: Перемножение матриц - конкурс для программистов
Сообщение16.02.2010, 02:16 
Dongara в сообщении #289392 писал(а):
Эта задача не для соревнований: наколенные методы здесь не пройдут.
Не понял мысль. Можете уточнить, что вы имеете в виду под "наколенными методами", и почему из этого следует, подходит ли задача для соревнований?
И вообще, каковы у вас критерии к задачам для соревнований программистов?

 
 
 
 Re: Перемножение матриц - конкурс для программистов
Сообщение16.02.2010, 02:52 
venco в сообщении #289395 писал(а):
Dongara в сообщении #289392 писал(а):
Эта задача не для соревнований: наколенные методы здесь не пройдут.
Не понял мысль. Можете уточнить, что вы имеете в виду под "наколенными методами", и почему из этого следует, подходит ли задача для соревнований?
И вообще, каковы у вас критерии к задачам для соревнований программистов?

Zealint:"задача выбрана самая простая"
Вот я про наколенные методы и написал, т.к. эта фраза Zealint'а равносильна бреду сивой кобылы. А критерии для соревнований примерно те же, что и при проведении олимпиад.

 
 
 
 Re: Перемножение матриц - конкурс для программистов
Сообщение16.02.2010, 03:13 
Dongara в сообщении #289397 писал(а):
venco в сообщении #289395 писал(а):
Dongara в сообщении #289392 писал(а):
Эта задача не для соревнований: наколенные методы здесь не пройдут.
Не понял мысль. Можете уточнить, что вы имеете в виду под "наколенными методами", и почему из этого следует, подходит ли задача для соревнований?
И вообще, каковы у вас критерии к задачам для соревнований программистов?

Zealint:"задача выбрана самая простая"
Вот я про наколенные методы и написал, т.к. эта фраза Zealint'а равносильна бреду сивой кобылы. А критерии для соревнований примерно те же, что и при проведении олимпиад.
Что-то я не могу уследить за ходом вашей мысли. Вижу много эмоций, на мой взгляд, необоснованных, и мало смысла.
Ладно, соревнование - дело добровольное, вас никто не заставляет.

 
 
 
 Re: Перемножение матриц - конкурс для программистов
Сообщение16.02.2010, 03:22 
venco писал(а):
Вижу много эмоций, на мой взгляд, необоснованных, и мало смысла.

Мои комментарии определяются исключительно глубокими знаниями в данной конкретной области. А вот Вы исходите из общих соображений и поэтому порите ахинею.

 
 
 
 Re: Перемножение матриц - конкурс для программистов
Сообщение16.02.2010, 03:27 
Dongara в сообщении #289401 писал(а):
venco писал(а):
Вижу много эмоций, на мой взгляд, необоснованных, и мало смысла.

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

 
 
 
 Re: Перемножение матриц - конкурс для программистов
Сообщение16.02.2010, 07:31 
Roman Voznyuk в сообщении #289322 писал(а):
Ну результат у вас будет получаться в первой матрице, в терминах Си это будет оперция *= а не *.
Ускорение за счет того что будет обращение к той же самой странице памяти.
Но по мне это уже читерство, как и предварительное транспонирование.
Если пойти дальше то можно на вход подавать не две матрицы, а одну большую, в которой элементы матриц чередуются.


Нет, я попросил показать, как вы это себе представляете. Когда записываешь ответ туда же, портятся нужные числа. При умножении матриц к одному и тому же числу приходится обращаться много раз.

Код:
Я бредовыми проектами, да еще подкрепленными бомжовыми подачками, не занимаюсь.

Причем тут подачки? Кому-то просто интересно соревноваться.

Цитата:
Эта задача не для соревнований: наколенные методы здесь не пройдут.

Пройдут. Хотя что подразумевать под "наколенными"... Быстрые алгоритмы (субкубические) в большинстве своем тоже относятся к разряду "наколенных". Более сложные работают слишком медленно на таких маленьких размерах. Гибриды делать я не кому не мешаю, это тоже дело нехитрое. Вообще, кончайте трещать, а то занимаетесь лишь дискредитированием себя. Вы не можете объяснить суть ваших притязаний, что является одним из первых признаков неразумности.

Цитата:
Вот я про наколенные методы и написал, т.к. эта фраза Zealint'а равносильна бреду сивой кобылы. А критерии для соревнований примерно те же, что и при проведении олимпиад.

Равносильность нужно доказать, чего Вы сделать снова не сможете (уже который раз я вам показываю, что вы зря чешите языком). Критерии похожи на олимпиадные, но не точно такие же: например, на олимпиаде никто не даст использовать MMX. Если Вас угнетает фраза "задача самая простая" - то это к слову о том, что проще у меня нет. А делать просто произвольные задачи мне совершенно ни к чему.

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

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

 
 
 
 Re: Перемножение матриц - конкурс для программистов
Сообщение16.02.2010, 07:43 
Думаю venco уже не переплюнуть

 
 
 
 Re: Перемножение матриц - конкурс для программистов
Сообщение16.02.2010, 08:34 
Аватара пользователя
Dongara писал(а):
Вот постарается - и на бомжовую похлебку заработает.
Я думаю смысл приза в том, чтобы люди не зацикливались на одной задаче более двух недель, что явно противоречит правилам форумов :).

 
 
 
 Re: Перемножение матриц - конкурс для программистов
Сообщение16.02.2010, 08:44 
Кстати, в январском LinuxFormat'е проводилось сравнение быстродействия математических библиотек, умножение матриц быстрее всего получилось при использовании библиотеки Eigen.

 
 
 
 Re: Перемножение матриц - конкурс для программистов
Сообщение16.02.2010, 11:03 
Ed_Em в сообщении #289424 писал(а):
Кстати, в январском LinuxFormat'е проводилось сравнение быстродействия математических библиотек, умножение матриц быстрее всего получилось при использовании библиотеки Eigen.

Все новое - это хорошо забытое старое.
Вот здесь несколько лет назад был "мозговой штурм" проблемы http://forum.sources.ru/index.php?showtopic=119792&st=0 и результаты неплохие.
Ясно, что теорией пренебрегать нельзя (учите матчасть!!!) и это: http://www.enci.ru/%D0%A3%D0%BC%D0%BD%D ... 0.BD.D0.B0
надо принять к сведению. Неясным остается вопрос о величинах констант трудоемкости в различных методах. Очевидно что есть оптимумы по порядку матрицы для каждого метода, но где?, сможет ответить только эксперимент.
Дальнейшая оптимизация может проходить по двум направлениям.
1. Использование ассемблера (напр. как http://www.compress.ru/article.aspx?id= ... list61ext1);
2. Использование особенностей L-кэшей и регистров процессоров.
Или 1. +2. вместе.
Я благодарен автору за то, что его пост натолкнул меня на поиск новых идей в вопросах ускорения вычислений и я нашел новые, интересные ссылки не связанные с темой поста. Реализация алгоритмов ускорения в OPEN CL похоже открывает (http://developer.amd.com/documentation/ ... fault.aspx) неограниченные возможности.
Еще все забыли про http://developer.amd.com/cpu/open64/pages/default.aspx, а ведь АМД - главный конкурент Интелю.

 
 
 
 Re: Перемножение матриц - конкурс для программистов
Сообщение16.02.2010, 14:27 
Zealint писал(а):
...

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

 
 
 
 Re: Перемножение матриц - конкурс для программистов
Сообщение16.02.2010, 14:46 
Аватара пользователя
Ajabsandal писал(а):
Реализация алгоритмов ускорения в OPEN CL похоже открывает (...) неограниченные возможности.

OpenCL по условиям задачи не проходит. Во-первых, распараллеливание запрещено. Во-вторых, неизвестно, что там за видеокарта.

venco, признайтесь, Вы курили Штрассена? :D

 
 
 
 Re: Перемножение матриц - конкурс для программистов
Сообщение16.02.2010, 16:38 
worm2 в сообщении #289502 писал(а):
venco, признайтесь, Вы курили Штрассена? :D
В первой версии (13.22) Штрассена не было. ;)

 
 
 [ Сообщений: 143 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8 ... 10  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group