Добро пожаловать в сеть Intel® Software Network вход | зарегистрироваться | помощь |
Поиск в форумах и блогах Intel® Software Network
в Вперед

SunSet: Второй тур cтуденческого кубка Intel

Последнее сообщение 12-02-2007, 4:41 размещено krasno2. Ответов - 22.
Стр. 1 из 2(элементов - 23)   1 2 Вперед >
Сортировать сообщения: Назад Вперед
 10-11-2007, 17:05 30220861  

SunSet: Второй тур cтуденческого кубка Intel

10 октября стартовал второй тур конкурса "Cтуденческий кубок Intel: оптимизация многопоточных приложений".

 

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

 

Участникам второго тура предлагается оптимизировать производительность приложения «SunSet». Приложение генерирует последовательность кадров с видом морской поверхности, используя при этом довольно сложный параллельный алгоритм. Время генерации каждого кадра является критерием производительности (чем меньше время тем лучше).

В пакет задания входит исходный код, инструкции по компиляции, краткое описание приложения и подсказки наших экспертов.

 

Вам необходимо загрузить пакет задания и оптимизировать исходный код программы, добиваясь как можно меньшего времени на генерацию последовательности кадров с эталонными параметрами. Сделанные вами изменения необходимо описать в виде отдельного сопроводительного файла и предоставить вместе с исходным кодом на рассмотрение жюри конкурса до 10 ноября 2007 года.


 


Дмитрий Оганезов
Intel® Software Network
 
 10-11-2007, 17:13 30220862 в ответ на30220861  

На: SunSet: Второй тур cтуденческого кубка Intel

Для тех, кто не хочет загружать полностью пакет задания я также выложил архив только с исходным кодом, эталонными параметрами и сопроводительными файлами. Загрузить можно отсюда (~30Kb).

 

Демонстрационная версия SunSet с графическим интерфейсом и файлами рузультатов доступна тут (~1.2Mb)


Дмитрий Оганезов
Intel® Software Network
 
 10-15-2007, 13:21 30220872 в ответ на30220861  

На: SunSet: Второй тур cтуденческого кубка Intel

Как только что еще раз подтвердилось - удовлетворить всех одновременно нельзя. А значит что? Правильно, удовлетворять будем всех последовательно :).

Меня попросили пережать архив с заданием второго тура, чтобы уменьшить размер. Как выяснилось, метод сжатия, который я использовал, поддерживает только WinZip*, а известные мне версии 7Zip и RAR не могут раскрыть получившийся архив. Извините, я не знал! :(

С другой стороны, любые другие архиваторы не дают практического выигрыша по размеру перед стандартной компрессией ZIP, таким образом, все, что мне остается сделать, -  это выгрузить заново…
  • Оригинальный архив, полный, 8Mb, стандартное сжатие – тут.
  • Только исходные файлы и задание, 30Kb, стандартное сжатие – тут.

ЗЫ. Те, кто использует WinZip, могут по-прежнему использовать ссылки, размещенные выше.



Дмитрий Оганезов
Intel® Software Network
 
 10-16-2007, 17:16 30220875 в ответ на30220872  

На: SunSet: Второй тур cтуденческого кубка Intel

Похоже Ваш метод последовательного удовлетворения работает!
Меня Вы уже удовлетворили. Спасибо.
 
 10-18-2007, 13:41 30220879 в ответ на30220861  

На: SunSet: Второй тур cтуденческого кубка Intel - Баги

Как оформлять Bug Report'ы по VTune?
А то он у меня уже за 1 день ухитрился "уложить" студию N-ое число раз (при N> 10 раз мне уже надоело) Версия 9.0 Билд 454. Поэтому очень хочется чтобы исправили :-|
 
 10-18-2007, 14:06 30220880 в ответ на30220879  

На: SunSet: Второй тур cтуденческого кубка Intel - Баги

Давайте поступим так - вы смело открываете новую ветку вот в этой группе форума, и описываете там симптомы болезни. А я со своей стороны позабочусь, чтобы мои коллеги из команды VTune посмотрели на проблему и исправили ее (или как-то иначе помогли).

Пойдет?

Да, еще просьба - будете ветку организовывать, вставте содержимое файла support.txt и укажите точно версию студии.



Дмитрий Оганезов
Intel® Software Network
 
 10-22-2007, 18:24 30220891 в ответ на30220861  

На: SunSet: Второй тур cтуденческого кубка Intel

Нам поступил вопрос от Алексея, финалиста конкурса:

у меня вопрос по конкурсу:

На скольких потоках считался benchmark, результаты которого приложены к файлам? Как я понимаю, в том коде, который прислан, получаются разные результаты в зависимости от кол-ва потоков, так как меняется порядок суммирования по переменной BS. Вообще логичнее бы было, поменять тип BS на double, потому что метод суммирования используемый сейчас при одном потоке тоже неточный, но тогда немного меняются все результаты.

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

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

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


Дмитрий Оганезов
Intel® Software Network
 
 10-28-2007, 1:54 30220897 в ответ на30220891  

На: SunSet: Второй тур cтуденческого кубка Intel

Как будет проходить сдача решения ?
Если сдавать исходник, то нужно регламентировать форму в которой их сдавать, я например, использую boost-build для сборки проектов. Кроме этого есть ещё нюансы, связанные с этим вопросом.

Опишите процесс тестирования, как будет выбираться победитель ?

Набор тестовых конфигурационных файлов - это тайна ?

Так же очень интересно будет узнать конфигурацию машины на которой будет проходить тестирование.
 
 11-05-2007, 20:55 30220908 в ответ на30220897  

На: SunSet: Второй тур cтуденческого кубка Intel

день \ вечер добрый! простите нас за задержки с ответами - ниже комментарии наших спецов :) Как будет проходить сдача решения ? Все решения будут проверяться на корректность и на скорость на нескольких конфигурационных файлах на одной и той же конфигурации компьютера. Единственное отличие может быть в OS Linux или Windows. Если сдавать исходник, то нужно регламентировать форму в которой их сдавать, я например, использую boost-build для сборки проектов. Кроме этого есть ещё нюансы, связанные с этим вопросом. По условию Вы должны предоставить исходные файлы, скрипты сборки, детальное описание с версиями всех инструментов и библиотек. Жюри будет использовать свою систему сборки, но принимая за основу _ваш_ Makefile или проект Visual Studio (альтернативные варианты, вроде boost-build не будут отвергнуты, но мы реккомендуем не усложнять задачу сборки двух исходных файлов, а вдруг жюри не справится со сборкой :). Опишите процесс тестирования, как будет выбираться победитель ? Набор тестовых конфигурационных файлов - это тайна ? Все прошедшие проверку на корректность будут оценены с точки зрения производительности на многоядерной системе c процессорами Intel Core Architecture. Если результатов на приведенных в задании конфигурационных файлов окажется недостаточно для определения победителя и/или призеров то жури оставляет за собой право использовать дополнительные конфигурационные файлы, которые, возможно, будут позже опубликованы. конфигурацию машины обязательно выложим чуть позже!
Марианна Светлосанова
Intel® Software Network
 
 11-05-2007, 21:00 30220909 в ответ на30220908  

На: SunSet: Второй тур cтуденческого кубка Intel

какая то проблема с пробелами.. надеюсь завтра решим
Марианна Светлосанова
Intel® Software Network
 
 11-05-2007, 21:02 30220910 в ответ на30220909  

На: SunSet: Второй тур cтуденческого кубка Intel

вопрос: Как я понимаю, в том коде, который прислан, получаются разные результаты в зависимости от кол-ва потоков, так как меняется порядок суммирования по переменной BS. Вообще логичнее бы было, поменять тип BS на double, потому что метод суммирования используемый сейчас при одном потоке тоже неточный, но тогда немного меняются все результаты. Ответ: В readme.txt есть условие “Maximum allowed difference of output to reference one is not more than 5% of pixels (very relaxed conditions).” Поменять тип переменной не запрещается, если это кажется необходимым.
Марианна Светлосанова
Intel® Software Network
 
 11-20-2007, 1:12 30220941 в ответ на30220861  

На: SunSet: Второй тур cтуденческого кубка Intel

Что-то со сроками беда =) Уже 20е число, а результатов всё нет и нет )))
 
 11-20-2007, 8:07 30220942 в ответ на30220941  

На: SunSet: Второй тур cтуденческого кубка Intel

это оказалось не просто... простите нас за задержку! все результаты доступны здесь


Марианна Светлосанова
Intel® Software Network
 
 11-20-2007, 18:53 30220946 в ответ на30220941  

На: SunSet: Второй тур cтуденческого кубка Intel

Да, простите ради бога - это было совсем не просто, выбрать десятку лучших!
Вот еще ссылка на мой пост с дополнительным рейтингом.



Дмитрий Оганезов
Intel® Software Network
 
 11-24-2007, 10:27 30220959 в ответ на30220946  

На: SunSet: Второй тур cтуденческого кубка Intel

Я ценю непростой труд жюри по выбору победителей, но тем не менее, у меня появились некоторые вопросы/предложения, ответы на которые, я думаю, будут интересны всем участникам конкурса.

...мы старались быть объективными и исключить разброс результатов из-за особенностей конкретных инструментов. Так, например, если участник конкурса указал, что им была использована библиотека Intel® MKL v.9.0, мы уравняли шансы на победу, перекомпилировав приложение с использование последней версии данной библиотеки.

Как известно, в 10-й версии библиотеки Intel® MKL появился новый режим - “Enhanced Performance“ mode (EP Mode), которого не было в 9-й версии. Этот режим, по сравнению с режимом “Low Accuracy“ (LA), дает существенное повышение производительности, на некоторых функциях выигрыш достигает двух раз и более (см. Performance of VML (Non-Threaded) Functions). К сожалению, не всем участникам конкурса была доступна новая, 10-я версии библиотеки. Например, на дисках, любезно предоставленных офисом Интел участникам конкурса, оказалась 9-я версия библиотеки Intel® MKL. Таким образом, участники, использующие разные версии и, соответственно, разные режимы работы библиотеки Intel® MKL, были поставлены в заведомо неравные условия.
Вопрос:
Применялся ли режим “Enhanced Performance“ mode (EP Mode) вместо режима LA при тестировании работ участников, написанных с использованием библиотеки Intel® MKL v.9.0, и если нет, то почему?

MAD\doganezo:
...Все участники будут в равных условиях…
... ваша задача - добиться максимального ускорения относительно "неоптимизированного" кода на ваших машинах, т.е. тех, на которых вы производите оптимизацию....

Рекомендация оптимизировать код под имеющийся у участника процессор выглядит опрометчиво. Не у всех участников система построена на процессоре нужной для конкурса архитектуры. Некоторые оптимизации кода (или отказ от них), дающие на системе участника положительный результат, на тестовой платформе могут дать отрицательный результат из-за иной архитектуры процессора. Слепое следование таким рекомендациям, видимо, сыграло дурную шутку с некоторыми участниками конкурса, в том числе и со мной, когда я закомментировал векторную функцию вычисления синуса и косинуса vsSinCos из библиотеки Intel® MKL (предназначенную вместо 536-542 строки в исходном файле sunset.cpp). Когда я одумался, было уже поздно. Хотя строка с функцией vsSinCos и осталась в коде программы (в закомментированном виде) вряд ли жюри обратило на нее внимание.
Для того, чтобы действительно поставить всех участников в равные условия, желательно для будущих конкурсов организовать систему онлайн-тестирования, о которой уже упоминал один из участников.
olegg1:
Возможно ли сделать некое подобие онлайн системы тестирования?

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

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

Предложение:
Почему бы не опубликовать на сайте таблицу с результатами всех остальных протестированных работ участников? Я думаю, всем участникам конкурса будет интересно взглянуть на свои результаты, особенно если жюри кратко отметит недостатки и достоинства отдельных работ. Ведь даже у работ, не попавших в первую десятку, наверняка есть интересные решения. Например, один из моих вариантов работы использовал алгоритм CORDIC для целочисленного вычисления тригонометрических функций. Правда, я этот вариант работы на конкурс решил не посылать, т.к. применение библиотеки Intel® MKL дало лучший результат.
 
Стр. 1 из 2(элементов - 23)   1 2 Вперед >
Просмотреть как поток новостей RSS в XML

Ярлыки


Тег для данного сообщения

...

Теги сообщества

...