Лабораторная работа: Task 4
Описание
Характеристики лабораторной работы
Список файлов
- Task 4
- task4-v3.pdf 1,24 Mb
- решение
- RayTracer
- RayTracer (2)
- RayTracer
- Readme.txt 3,54 Kb
- bin
- RayTracer.exe 104 Kb
- RayTracer.pdb 8,11 Mb
- data
- CrystalModel
- img
- src
- Big Result 1.png 79,9 Kb
- Big Result 2.png 82,96 Kb
- Big Result 3.png 71,4 Kb
- Big Result.png 37,02 Kb
- Camera.h 0 b
- Main.cpp 1,4 Kb
- Mesh.h 0 b
- RayTracer.v12.suo 35,5 Kb
- Tracer.cpp 19,07 Kb
- data
- CrystalModel
- glm
- core
- gtc
- gtx
- virtrev
- l3ds
- scene_settings.xml 423 b
- tinyxml2
- contrib
- tinyxml2-doxygen
- search
- Readme.txt 3,68 Kb
- bin
- RayTracer - копия.exe 104 Kb
- data
- CrystalModel
- img
- src
- Camera.h 0 b
- Main.cpp 1,4 Kb
- Mesh.h 0 b
- RayTracer.v12.suo 39,5 Kb
- data
- CrystalModel
- glm
Василенко Анатолий, 321 группа
Операционная система: Windows 7 x64
Оборудование: Intel Core 2 Duo 2 ядра, 4 ГБ памяти
Формат файла настроек:
xml файл, там и так всё понятно, просто откройте его
Я пытался сделать машграф полностью, до отправки вам практикума, но что-то не получается (кристал может быть не правильный и фонга нету), поэтому в связи с тем, что просчёт кристала и зеркала проходит достаточно долго, то уже имеет смысл пользовать openMP, я сделал практикум
учитывая что мне нужно всего полбала, думаю я вполне их заслужил, не смотря на то, что не доделал машграф
в папке bin:
файл RayTracerOpenMP - генерит изображение используя openmp
файл RayTracerWithoutOpenMP - генерит изображение не используя openmp
файл RayTracer генерит изображение сначала используя openMP, а потом не используя.
программы порождают "Result1.png" - для openMP и "Result2.png" - в случае не OpenMP
Везде используется timer из 2-го задания
collapse в Visual Studio 2013 по-видимому не поддерживается
Моя программа ("RayTracer.exe") на тех настройках, что лежат рядом с исполняемым файлом
работает 57.638 секунд используя многопоточность и 79.452 секунд не используя многопоточность (около 22 секунд разницы)
на моём ноутбуке стоит 2-х ядерный процессор core2duo, в связи с чем openMP автоматически порождал мне 2 потока в рассчёте на каждое из ядер
Производительность не выросла в двое из-за следующих причин:
1) На моём компьютере параллельно работает много других процессов, которые не мешают вычисляться без openMP, т.к. процессор не загружен на 100%
однако, когда я загружаю процессор полностью 2-мя потоками, то они начинают вытеснять подсчёт моей задачи, и это приводит к увеличению интервала времени выполнения с openMP
2) При просчёте зеркала и кристалла как видно на картинке "загрузка процессора.jpg" в режиме OpenMP достигает не 100% (хотя например в конце работы в режиме openMP там 100%)
предполагаю, что это связано с тем, что для рассчётов новых направлений при отражении и преломлении, я гоняю слишком много данных с регистров и на регистры, в результате некоторое время процессор простаивает ожидая данные
Василенко Анатолий, 321 группа
Операционная система: Windows 7 x64
Оборудование: Intel Core 2 Duo 2 ядра, 4 ГБ памяти
Формат файла настроек:
xml файл, там и так всё понятно, просто откройте его
Я пытался сделать машграф полностью, до отправки вам практикума, но что-то не получается (кристал может быть не правильный и фонга нету), поэтому в связи с тем, что просчёт кристала и зеркала проходит достаточно долго, то уже имеет смысл пользовать openMP, я сделал практикум
учитывая что мне нужно всего полбала, думаю я вполне их заслужил, не смотря на то, что не доделал машграф (который теперь уже и не собираюсь доделывать, ибо мне по нему зачёт поставили)
в папке bin:
файл RayTracerOpenMP - генерит изображение используя openmp
файл RayTracerWithoutOpenMP - генерит изображение не используя openmp
файл RayTracer генерит изображение сначала используя openMP, а потом не используя.
программы порождают "Result1.png" - для openMP и "Result2.png" - в случае не OpenMP
Везде используется timer из 2-го задания
collapse в Visual Studio 2013 по-видимому не поддерживается
Моя программа ("RayTracer.exe") на тех настройках, что лежат рядом с исполняемым файлом
работает 57.638 секунд используя многопоточность и 79.452 секунд не используя многопоточность (около 22 секунд разницы)
на моём ноутбуке стоит 2-х ядерный процессор core2duo, в связи с чем openMP автоматически порождал мне 2 потока в рассчёте на каждое из ядер
Производительность не выросла в двое из-за следующих причин:
1) На моём компьютере параллельно работает много других процессов, которые не мешают вычисляться без openMP, т.к. процессор не загружен на 100%
однако, когда я загружаю процессор полностью 2-мя потоками, то они начинают вытеснять подсчёт моей задачи, и это приводит к увеличению интервала времени выполнения с openMP
2) При просчёте зеркала и кристалла как видно на картинке "загрузка процессора.jpg" в режиме OpenMP достигает не 100% (хотя например в конце работы в режиме openMP там 100%)
предполагаю, что это связано с тем, что для рассчётов новых направлений при отражении и преломлении, я гоняю слишком много данных с регистров и на регистры, в результате некоторое время процессор простаивает ожидая данные
Начать зарабатывать