Live data from Hacker News

Combine Multiple AWS Instances into a 16-GPU Monster Machine

bitfusion.io

1–10 of 47 posts

Re: Combine Multiple AWS Instances into a 16-GPU Monster Machine

#3

That's some really cool tech. It seems like it's Linux only. Is there windows support planned? That would solve the problem with wanting to run code on the GPU within a Linux VM while the host is windows.

Windows support is coming in mid-April, stay tuned!

Re: Combine Multiple AWS Instances into a 16-GPU Monster Machine

#7
post #4

At first I thought this was the same problem as automatically breaking up apps to run in multiple cpus. This problem has been heavily researched with no success. Is it the fact that GPU code already runs in parallel streams that makes this possible?

Yes, your app would have to support multiple GPUs. What's done here is remoting CUDA/OpenCL/etc. calls so that remote GPUs can be accessed from a single instance. When performing device/platform enumeration, all GPUs appear to be directly connected to a single instance -- hence no change to the application required.

Re: Combine Multiple AWS Instances into a 16-GPU Monster Machine

#8

Are there benchmarks/code examples for the Monster Machines?

Yes! Whenever you spin up one of our AMIs, there is a README that will guide you through a couple of simple examples. We are about to publish performance results on the monster machines in a few days, so watch out for it. Scaling depends on the compute density of the GPU workload, but in general we've seen pretty good results with 1) Deep learning (caffe) scaling to 16 GPUs (near native scaling with local GPUs, especially deep nets), 2) Raytracing of photo-realistic and complex scenes - near linear scaling with increasing GPUs, and 3) Physical modeling and simulation does very well too.

Re: Combine Multiple AWS Instances into a 16-GPU Monster Machine

#10
post #7
post #4

At first I thought this was the same problem as automatically breaking up apps to run in multiple cpus. This problem has been heavily researched with no success. Is it the fact that GPU code already runs in parallel streams that makes this possible?

Yes, your app would have to support multiple GPUs. What's done here is remoting CUDA/OpenCL/etc. calls so that remote GPUs can be accessed from a single instance. When performing device/platform enumeration, all GPUs appear to be directly connected to a single instance -- hence no change to the application required.

Sounds like Plan9's concept of "CPU server mounts" has been reborn as "GPU server mounts." Could actually get traction this time, given that existing multi-GPU programs will Just Work.
Post reply on HN