So, I have 3 gpu in my machine. And Im trying to render animation with redshift and cinema 4D. Im planning to render 1 frame with 1 gpu. I did make 2 workers in my machine (Worker A and Worker A-instance02). How can I make each worker to use 1 gpu to render 1 frame?
My settings now for trying are:
2 workers in allow machine list
1 concurrent task
GPU per task 2
GPU Affinity 2 (1,2)
With those settings, it takes 16min to render 1 frame in each worker. Super slow.
If I use only 1 gpu to render 1 frame, it will take only 5 min.
Does anyone know how to assign 1 gpu per worker? or is there any other best way to do this?
Thank you
Hi
Instead of using 2 workers you could try using only one but setting concurrent tasks to 2 and 1 gpu pr task. This way each task will use only 1 gpu. (Dont set GPU affinity on the worker) Or set concurrent task 3 to render 1 frame pr gpu. You will need a lot of ram for this to work. The cpu will also be taxed pretty heavy serving 3 gpus.
We messed with multiple workers for a while but found 1 worker/multiple tasks to be much easier to maintain.
This way works well! Thank you Bonsak. It took around 50 GB RAM when I did the test with 3 gpu pr task. The reason I wanted to do it with gpu affinity and multiple worker, its because I can control what gpu has to work. But I guess, I still dont understand it well.
Im using gpu 0 for my monitor. So if I use 2 concurent task with 1 gpu pr task, deadline takes automatically my gpu 0 and gpu 1. Meanwhile my gpu 2 does nothing. I also try to follow this manual:
Select GPU Devices: A comma separated list of specific GPU device Id(s) can be entered instead of using the above ‘GPUs Per Task’ option (which must be set to “0”). Valid examples include: “0” or “1” or “0,1” or “2,4” without the quotation marks. Note, “Concurrent Tasks” must be set to “1” only.
But it won’t work because I can only use 1 concurrent task.
Is there anyway I can use 2 concurrent task with 1 gpu per task and choose what gpu to work on?
Ok, I just tried to use 2 concurrent task with 1 gpu per task. And this time, I did turn on the override GPU affinity in local worker. I checked GPU 1 and GPU 2. When I saw it in the task manager, It renders only with GPU 1 for some reason.
I also tried to checked the 3 GPUs, and Deadline renders only with the first GPU (in this case GPU 0 only).
The weird thing is, when I use only 1 concurrent task, 1 gpu per task and checked only 1 GPU in GPU affinity . I can decide what gpu I want to use.
I dont really know why. There is a reason why you told me not to set GPU affinity on the worker. May be the solution is stick to the first solution and use my GPU2 as my monitor.