AWS Thinkbox Discussion Forums

Multiple worker with multiple gpu setup

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.

Regards
Bonsak

1 Like

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?

Have you tried to set gpu affinity on the worker to the 2 gpus you want to render on. Havent tried this so im not sure if it works.

-b

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.

Just to see if it might work. I never had much luck with setting GPU affinity and Redshitf :slight_smile:

-b

Privacy | Site terms | Cookie preferences