Cтуденческий кубок Intel®: задание второго тура
Опубликовано: 10 октября 2007 г. | Последние Изменения: 7 августа 2008 г.
Карта конкурса
Задание второго тура конкурса “Студенческий кубок Intel: оптимизация приложений”
Вам предстоит оптимизировать приложение SunSet.
Пояснения и требования по оптимизации программы.
Задание
- Вам предлагается оптимизировать, то есть добиться наименьшего времени исполнения программы sunset. Программа генерирует «морской пейзаж», т.е вид водной поверхности и неба с учетом нескольких параметров (сила и направление ветра, высота солнца, и т.п.). Эталонные наборы параметров приложены к заданию в виде конфигурационных файлов (файлы Sample*.cfg в каталоге “input”).
- SunSet вычисляет время, потраченное на генерацию каждого кадра, таким образом задача сводится к минимизации времени генерации кадра.
Содержимое пакета с заданием
- В файле readme.txt дана инструкция для компиляции и запуска программы, а также примеры запусков. Кроме того, в readme.txt содержатся инструкции и требования к конкурсным работам (необходимый минимум для того, чтобы ваша работа была принята и оценена жюри конкурса).
- Файл sunset.txt содержит краткое описание программы для более детального ознакомления с физической моделью, методом расчета, значением физических и счетных параметров. В файле приведены ссылки на сайт конференции Графикон, где приложение SunSet использовалось как бенчмарк.
- В пакет входит исполняемый модуль для Windows* «sunset.gui.ex_». Его расширение следует изменить на “exe”. Этот файл прилагаются как демонстрация возможностей программы SunSet. Приложение поможет понять значение входных параметров и вычислительную сложность задания.
- Файл “Recommendations.doc” содержит «подсказки» наших экспертов по оптимизации. Ознакомитесь с его содержимым, быть может это сохранит ваше время или натолкнет вас на хорошие идеи о том, как заставить приложение работать еще быстрее.
Требования по оптимизации
- Вы не должны изменять программу настолько, чтобы нарушилась логика оценки производительности (пропуск кадров, исключение части изображения и т.п.). Это означает, в частности, что модуль main не следует редактировать.
- Вы можете использовать любые средства оптимизации, вплоть до реализации ассемблерного кода. В то же время, мы рекомендуем следовать советам наших специалистов по оптимизации.
- Обратите внимание на п.6 файла readme.txt. Не жалейте времени на пояснения и описание особенностей вашего кода, способов оптимизации, и параметров системы, на которой вы выполняли измерения. Тем самым вы сэкономите время экспертов и позволите им оценить ваш код глубже, внимательнее и точнее. Будет обидно, если превосходный код окажется невозможно проверить и оценить.
Успехов!
- Одной из особенностей профессии программистов является то, что они могут видеть результаты своего труда немедленно, наблюдая процесс улучшения результатов и понимая, как это достигнуто. Многие профессии этого лишены. Вы будете оптимизировать красивую и содержательную программу, тут есть чему поучиться. Используйте этот шанс. Удачи вам!
Файл для загрузки(4.4Mb)