
The Incredible Power of the Amazon EC2 Cluster GPU Instances - werner
http://www.allthingsdistributed.com/2010/11/cluster_gpu_instances_amazon_ec2.html
======
tmurray
I'm one of the developers of CUDA at NVIDIA, so if anyone has any questions
about that or GPUs in general that they'd like answered, feel free to post it
here and I'll do my best.

However, answers might be a bit delayed--I'm at SC10 this week (or if you're
at SC10, I'm an easy person to find at the NVIDIA booth).

~~~
enjalot
I'll come visit you! I've been learning OpenCL and it would be interesting to
get your opinions on it as a CUDA dev :)

I know from my professor that CUDA is much nicer to work with since its more
mature, but I'm interested in OpenCL's future, especially when it might get
some of the nice features CUDA has!

------
mike-cardwell
This is nice. I work at a University and I spoke to the guy who runs our High
Performance Computing system about Amazon EC2 the other day. He made a good
point which is worth noting:

You can bring up a lot of EC2 instances to run large jobs in parallel and get
a lot of CPU horsepower, but the main drawback of EC2 is the network. Most of
the jobs that run on our local "super computer" involve processing terrabytes
of data. Transferring terrabytes of data to the cloud is painful, and will
continue to be painful for a long time to come. I suspect even transferring
terrabytes of data between EC2 instances wont be smooth either.

Still, EC2 is great and I love how fast they're bringing out new features.

~~~
swannodette
Huh, isn't that the whole point of EC2 _Cluster_ Instance. You can specify
that you want your instances to be in the same physical location.

~~~
SpikeGronim
The two main points of the cluster compute instance were 10 GBit/s full
bisection bandwidth networking and high end hardware. Now you can add GPUs as
the third reason to use cluster compute instances.

------
swannodette
javacl, <http://code.google.com/p/javacl/>

idiomatic Clojure wrapper from the developer of Aleph -
<https://github.com/ztellman/calx>

I have to say, running Clojure on instances like these for a couple hours at a
time to get a sense of what Clojure offers in terms of concurrency and
parallelism on a 8-core machine with gobs of RAM is great fun -
[http://dosync.posterous.com/clojure-multi-core-amazon-
cluste...](http://dosync.posterous.com/clojure-multi-core-amazon-cluster-
compute-lat).

It's the kind of computing excitement I imagine Lisp Machine users had.

~~~
spolsky
I spent a summer with a Symbolics Lisp Machine in 1988. At pretty much every
point when Lisp machines were commercially available, they were slower at Lisp
tasks than the generic competition. We couldn't wait to get off of the
Symbolics onto generic Sun 4s (with 68020 chips, the same as Macintosh IIs).

Lisp machines promised to be unbelievably fast at Lisp because the Lisp
interpreter was "in microcode". In reality, the much smaller market for Lisp
machines meant that they just weren't developed nearly as quickly as Intel and
Motorola were iterating, so by the time they shipped, there were mass market,
general purpose CPUs that could interpret Lisp faster than Lisp machines could
execute it natively.

~~~
swannodette
Sorry my point about "excitement" was simply that, computing enthusiasm -
_not_ the historical performance of Lisp machine against other hardware
architectures of the time.

------
rb2k_
Interesting move. We just bought two Tesla Cards for a university project so I
know how much people could save by just prototyping on a "small" card that can
do ?OpenCL? and then using a Quadruple Extra Large instance at $2.10 per hour
for the actual computation instead of buying a 5 digit Euro workstation

~~~
tomjen3
The problem is that you need to tailor your problem to the core thats actually
running, which means you can't really develop on any old NVIDIA gpu and expect
optimal performance on the cluster.

But on the other hand a developer who works for 8 hours a day is going to cost
about 22 dollars -- which isn't that much when you take his salary into
account.

In other words: stop being cheap and start saving money.

~~~
rbanffy
> you can't really develop on any old NVIDIA gpu and expect optimal
> performance on the cluster.

OTOH, you can optimize your code to run on the bigger iron while you check it
on the small one on your desk to see if the results are correct. Computers can
make billions of miscalculations per second if the programmer is not watchful
enough.

And 22 dollars an hour is really cheap.

~~~
jedbrown
$22 was not salary, it was some estimate of the cost of developing on the GPU
instance, per day. (Seems high though, should be $2.10/hour * 8 hours unless
there are other fees I didn't notice.) In any case, this is very cheap
compared to the developer's salary, and since there are multiple cores, could
be shared. OTOH, there is some cost to developing on a remote machine since it
takes time to set up an environment as productive as the local one you already
have.

~~~
tomjen3
I didn't really want to go back, but I though it was $2.30/hour.

------
RK
This offering blows away the few people that were already trying to compete in
the GPU cloud space simply by being AWS.

Our research is just moving into GPU-based processing, and we can probably
adapt our current EC2 based framework to work with this relatively easily.

------
adonix
GPU Programming with PyCUDA:

<http://pdf.cx/6gc94>

<http://mathema.tician.de/software/pycuda>

------
jedbrown
_Tianhe-1A with a peak performance of 4.701 PetaFLOPS_

Nit: Linpack is an astoundingly easy benchmark to optimize, and they only
attained 2.57 Pflop/s there. Most real science runs at much lower efficiency
than Linpack (often more than an order of magnitude), primarily due to
architectural reasons, so the theoretical peak number is even less meaningful
than Linpack.

------
matclayton
If you are looking at writing gpu code checkout <http://www.tidepowerd.com/>
startup in this area, just released their first beta, a .net gpu
library/compiler

edit: gnu->gpu, for a harsh downvote, iPad auto correct :)

~~~
eliben
fix gnu code -> gpu code :)

------
hedgehog
Also interesting is that Amazon's CTO takes time out to post to HN.

~~~
werner
You guys are important customers...

------
rbanffy
I predict Amazon's rank in the top500 is about to improve.

------
Groxx
That's a nigh-trump-card. Wow. AWS: say hello to massive purchases from
researchers.

------
eof
I am not qualified to do the calculations, but I wonder if these things can
profitably generate bitcoins?

~~~
Tuna-Fish
No. Based on current exchange rates, the most optimized GPU-based system
consumes in electricity more than 10 times more than it makes in completed
bitcoins.

There is currently massive oversupply of computing power driving the profit of
generating them down. I find this quite silly -- even if you were certain that
bitcoins are going to massively appreciate in value, the best way to invest in
them right now is not setting up computing clusters but heading for the
nearest exchange and buying them.

~~~
JoachimSchipper
I can't imagine that this is what everyone is doing, but the marginal cost of
using a VPS/colocated server's idle capacity is usually $0 to the customer.

------
JabavuAdams
So, I just put together my task list for this week, distributed it and now
this.

This. This day I've been waiting for.

There goes my task list. :\

------
phoenix24
for completeness, here's the official announcement from amazon.

[http://aws.amazon.com/about-aws/whats-
new/2010/11/15/announc...](http://aws.amazon.com/about-aws/whats-
new/2010/11/15/announcing-cluster-gpu-instances-for-amazon-ec2/)

------
kunley
How many of you dear readers are really going to need such processing power?

~~~
gaius
Anyone using Monte Carlo methods, which are commonplace, could benefit from
this.

<http://en.wikipedia.org/wiki/Monte_Carlo_method>

