platform for number crunching

platform for number crunching

Micha Feigin michf at post.tau.ac.il
Wed Jun 16 23:35:20 IDT 2010


On Wed, 16 Jun 2010 18:42:53 +0300
Shlomi Fish <shlomif at iglu.org.il> wrote:

> On Wednesday 16 Jun 2010 16:29:58 Oleg Goldshmidt wrote:
> > On Wed, Jun 16, 2010 at 1:23 PM, Shimon Panfil <info at industrialphys.com> 
> wrote:
> > > Hi folks,
> > > I'm looking for affordable workstation for heavy number crunching, not
> > 
> > What's "affordable" and what is "heavy number crunching"?
> > 
> > For most large-scale scientific/engineering number-crunching physical
> > parallelism (multiple CPUs/cores) is important for performance. Will
> > you benefit from many more than 4 cores? Will anything more than
> > commodity 4 core desktop be prohibitively expensive? Will you benefit
> > / can you afford, e.g., a CUDA-based number-cruncher under your desk?
> > 
> 
> CUDA is a proprietary Nvidia technology. Nvidia has been incredibly hostile to 
> open-source and Linux. See for example:
> 
> http://www.petitiononline.com/nvfoss/
> 

Due to corporate espionage by the way. As NVidia is a fabless company depending
on IP they are afraid of revealing secrets. On the other hand, apart with some
issues with resuming, their driver is one of the best I ran into for linux.

And it's always updated along with the windows driver. They actually putting
quite a bit of emphasis and support into Linux, they are just afraid of open
sourcing the drivers due to IP.

> We should not support hang-vidia with our wallet by writing code that can only 
> effectively run on their cards. Instead one should use OpenCL that is an open 
> standard which is supported fine by ATI cards and hopefully will soon have an 
> open-source implementation:
> 

But it runs so much better on their cards, and CUDA is so much easier to write
than OpenCL. Plus all current OpenCL implementations have quite a few issues. I
admit that the ATI and NVidia GPU implementations are starting to get stable,
but the ATI cpu implementation is currently mostly worthless (bad performance
and no image support for starters) and IBMs blade implementation is not
relevant to most of us. Maybe when intel comes out with a CPU implementation
things will get better. And it's pretty heavily based on CUDA anyway.

Add to that the fact that OpenCL may be feature portable but not performance
portable so you are writing platform dependent code anyway, just in a non-platform
dependent language. It is also much harder to write for ATI than NVidia. ATI
requires vector operations while NVidia scalar ones so you need to think both
massively parallel and vector (both multi-core and sse in CPU terms)

And the final thing is that ATI doesn't have HPC cards at all (no tesla
equivalent, and even the quadro equivalent has only about 5% market share)
They mostly concentrate on gaming cards and ride on NVidia's back for anything else.

An not to mention the amount of support you can get from NVidia, especially in
for those in the academy.

> http://en.wikipedia.org/wiki/OpenCL
> 
> Regards,
> 
> 	Shlomi Fish



More information about the Linux-il mailing list