ЦКП ВВР ПГНИУ

Суперкомпьютерный центр Пермского университета

Инструменты пользователя

Инструменты сайта


man:blender

Различия

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

Ссылка на это сравнение

man:blender [23.11.2016 12:15:26] (текущий)
faubert создано
Строка 1: Строка 1:
 +====== Работа с Blender ======
 +===== Что делать до использования?​ =====
 +Перед использованием необходимо загрузить модуль:​
 +<​code>​module load blender/​2.77a </​code>​
 +===== Где расположен в системе?​ =====
 +Blender установлен в:
 +<​code>​ /​shared/​opt/​blender/​2.77a/​ </​code>​
 +===== Запуск на CPU =====
 +----
 +Запуск рендера на CPU производится следующей командой:​
  
 +<​code>​ blender -noaudio -b <​путь к исходному файлу *.blend> -E CYCLES -o <​путь выходного файла>​ -f <​кол-во кадров></​code>​
 +
 +В команде использованы след. ключи:
 +  * noaudio - нет звукового потока
 +  * b - использование background
 +  * E - использование выбранного движка для рендера ​
 +  * o - путь вывода
 +  * f -  рендер кадров (frames), не анимации.
 +
 +Для просмотра всех ключей и справки необходимо выполнить команду:​
 +<​code>​ blender --help </​code>​
 +**Примечание.** Запускать рендер,​ используя CPU можно и на управляющем узле, так и на вычислительном.
 +
 +===== Запуск на GPU =====
 +----
 +Для того, чтобы запустить рендер на GPU необходимо написать скрипт на языке python (*.py).
 +Скрипт должен содержать следующие строки:​
 +<​code>​
 +import bpy
 +bpy.context.user_preferences.system.compute_device_type = '​CUDA'​
 +bpy.context.user_preferences.system.compute_device = '​CUDA_MULTI_0'​
 +bpy.data.scenes["​Scene"​].cycles.device = '​GPU'​
 +</​code>​
 +----
 +
 +**Примечание.** Значение '​CUDA_MULTI_0'​ показывает,​ что рендер будет производиться на всех свободных картах GPU.
 +Также возможно использование значения '​CUDA_0',​ которое показывает,​ что рендер будет производиться на одной карте GPU.
 +
 +После того, как скрипт создан,​ путь к нему необходимо указать в команде запуска с помощью ключа P:
 +
 +<​code>​ blender -noaudio -b <​путь к исходному файлу *.blend> -E CYCLES -o <​путь выходного файла>​ -P <​путь к скрипту>​ -f 1 </​code>​
 +
 +**Примечание.** Рендер,​ с использованием GPU, возможен только с вычислительного узла.
 +
 +===== Как запустить рендер с дополнительными настройками,​ которые нельзя указать ключами ​ =====
 +----
 +Все интересующие настройки необходимо написать в скрипт на языке python.
 +Ниже приведен пример скрипта:​
 +<​code>​
 +import bpy
 +#User Preferences.System.Compute device
 +bpy.context.user_preferences.system.compute_device_type = '​CUDA'​
 +bpy.context.user_preferences.system.compute_device = '​CUDA_MULTI_0'​
 +#​Scene.Render.Device.
 +bpy.data.scenes["​Scene"​].cycles.device = '​GPU'​
 +#​Scene.Render.Animation ​                    
 +bpy.ops.render.render(animation=True) ​         ​
 +#​Scene.Dimensions.Resolution.X ​                    
 +bpy.data.scenes["​Scene"​].render.resolution_x = 1280 
 +#​Scene.Dimensions.Resolution.Y ​              
 +bpy.data.scenes["​Scene"​].render.resolution_y = 800
 +#​Scene.Dimensions.Resolution.Percentage ​              
 +bpy.data.scenes["​Scene"​].render.resolution_percentage = 100
 +#​Scene.Dimensions.Frame Range.Start frame
 +bpy.data.scenes["​Scene"​].frame_start = 0
 +#​Scene.Dimensions.Frame Range.End Frame
 +bpy.data.scenes["​Scene"​].frame_end = 3000
 +#​Scene.Dimensions.Frame Range.Frame step
 +bpy.data.scenes["​Scene"​].frame_step = 1
 +#​Scene.Dimensions.Frame Rate
 +bpy.types.Menu.framerate_presents = 24
 +#​Scene.Output.File format
 +bpy.data.scenes["​Scene"​].render.image_settings.file_format = '​PNG'​
 +#​Scene.Output.Color mode
 +bpy.data.scenes["​Scene"​].render.image_settings.color_mode = '​RGB'​
 +#​Scene.Output.Color depth
 +bpy.data.scenes["​Scene"​].render.image_settings.color_depth = '​16'​
 +#​Scene.Sampling
 +bpy.types.Menu.Sampling_presets = '​Final'​
 +#​Scene.Sampling.Samples.Render
 +bpy.data.scenes["​Scene"​].cycles.samples = 24
 +#​Scene.Sampling.Samples.Preview
 +bpy.data.scenes["​Scene"​].cycles.preview_samples = 12
 +#User Preferences.System.Anisotropic filter
 +bpy.context.user_preferences.system.anisotropic_filter = '​FILTER_16'​
 +</​code>​
 +
 +После написания скрипта необходимо указать его при запуске с ключом -P.
 +
 +**Примечание.** Если необходимых настроек нет в данном примере,​ необходимо зайти в графическом режиме в Blender и навести мышь на интересующую настройку. После чего появится всплывающая иконка,​ как записать эту настройку на языке python.
 +
 +===== Оптимизация =====
 +----
 +До этого раздела запуск рендера предполагал использование одного вычислительного узла.
 +
 +==== Как запустить рендер,​ используя все вычислительные узлы МВК ПГНИУ-Кеплер?​ ====
 +
 +Вопрос оптимизации был решен следующим образом. Имеется возможность,​ используя скрипты рендерить на каждом вычислительном узле определенное кол-во кадров.
 +Например,​ на первом вычислительном узле будут рендериться с 0 по 613 кадр:
 +<​code>​
 +bpy.data.scenes["​Scene"​].frame_start = 0
 +bpy.data.scenes["​Scene"​].frame_end = 613
 +bpy.data.scenes["​Scene"​].frame_step = 1
 +</​code>​
 +А на втором,​ с 614 по 1227 кадр:
 +<​code>​
 +bpy.data.scenes["​Scene"​].frame_start = 614
 +bpy.data.scenes["​Scene"​].frame_end = 1227
 +bpy.data.scenes["​Scene"​].frame_step = 1
 +</​code>​
 +И так далее.
 +
 +==== Как запустить выполнение на разных вычислительных узлах? ====
 +
 +Запуск производится с управляющего узла с помощью планировщика задач bsub.
 +Пример команды (в примере используется логирование,​ используя утилиту tee):
 +<​code>​
 +bsub -m "​compute000"​ "​blender -noaudio -b Scene.blend -E CYCLES -o ~/​blender_results_node000/​ -P exercise_gpu000.py -a |tee ~/​blender_results_node000/​exercise_log_000"​
 +</​code>​
man/blender.txt · Последние изменения: 23.11.2016 12:15:26 — faubert