platform for number crunching

platform for number crunching

Shlomi Fish shlomif at iglu.org.il
Wed Jun 16 22:39:59 IDT 2010


On Wednesday 16 Jun 2010 20:09:27 Oleg Goldshmidt wrote:
> > We should not support hang-vidia
> 
> Hmm... How often did it hang on you to deserve the disparaging moniker?
> 

Quite a few times. Back at the time when I had an nvidia card (GeForce 4 MX 
AGP), I noticed that:

1. The "open-source" (written in hex) nv driver (now discontinued !) was 
pretty stable but still had some quirks and naturally, did not have 3-D.

2. The nvidia driver caused frequent hangs at the time (maybe more recent 
versions were better).

3. The open-source nouveau driver (which did not exist when I started) were 
very bad, and used to hang the computer when switching to a different virtual 
console, for example. 

Now I'm using an ATI card (ATI Radeon HD 2600 Pro - r600) on this machine and 
everything just works with the open-source radeon / video-ati driver - 
switching to a different virtual console, 3-D (Compiz Fusion, KDE desktop 
effects, tuxracer, nexuiz, etc.), X-Windows is rock solid and practically 
never hangs, etc. 

I've also bought an Acer laptop with an ATI Mobility Radeon HD 3500 card 
(r700) and it also works perfectly with the radeon / video-ati driver. I 
recently switched to using the proprietary fglrx driver there, so I can 
experiment with OpenCL, and so far (did not try it for too long) it works 
nicely as well.  

> I understand that you may dislike the fact that the good, fast drivers
> NVIDIA provide for Linux are proprietary, and the open source drivers
> suck in comparison. Is it a good reason to disparage the quality of
> their products?

I don't rule out the fact that the Nvidia's hardware may be of good quality. 
But Nvidia's attitude towards Linux users and open-source in general has been 
very bad. As opposed to both Intel and ATI, they have not provided 
specifications for any of their cards, have not sponsored the development of 
open-source drivers, and kept their 2-D drivers written in hex and not 3-D-
enabled (and now they discontinued them). And as I experienced, even their 
proprietary drivers caused frequent hang-ups (and someone here who has been 
using an Nvidia card up to a year ago or so, said it hanged his computer too).

I don't think I should support a company like that with my wallet.

> 
> > with our wallet by writing code that can only
> > effectively run on their cards. Instead one should use OpenCL that is an
> > open standard
> 
> Don't mix things up. CUDA is NVIDIA's parallel processing
> architecture. It comes with an SDK that has been available for Linux
> from the very beginning. OpenCL is a "framework for writing programs".
> NVIDIA were instrumental in development of OpenCL, CUDA supports
> OpenCL, the two are not exclusive. If you have a CUDA system you can
> write in OpenCL or directly in C, Fortran, Python, Java, etc., using
> the SDK. As far as I am concerned, it's irrelevant - both the OpenCL
> implementation and the SDK come from NVIDIA.

Interesting. Not sure I fully understand though.

> 
> I mentioned CUDA because it is a relevant, and currently dominant, HW
> *architecture* for parallel processing, and parallelism seemed to me
> relevant to the Shimon's requirement that he called
> "number-crunching". I do not know anything about the actual workload
> or whether it can benefit from CUDA. If Shimon decides to go down that
> road he may decide later whether to use OpenCL or some other language
> to write his code - it's a separate topic.

OK.

> 
> > which is supported fine by ATI cards
> 
> And ATI are better than NVIDIA how? IIRC, their drivers are also
> proprietary, and open-source drivers (Radeon, etc.) are not as good.
> The difference may be less drastic (for some ATI cards) compared to
> the open-source NVIDIA drivers, but in principle, is there a
> difference?

Yes, there is:

1. ATI has provided specifications for their cards. Nvidia did not provide 
anything.

2. The open-source ATI drivers have 3-D acceleration. The "nv" driver from 
Nvidia could not (and now we don't even get that.)

3. ATI started to actively support the radeon / video-ati driver developers. 
Nvidia has given zero support to the Nouveau developers.

---------------

In ATI-land, you are not forced to use the proprietary "fglrx" driver, and the 
open-source "radeon" drivers work fine. 

> 
> In terms of GPGPU stuff, to NVIDIA's CUDA ATI have Stream, and they
> have a Stream SDK and an OpenCL SDK, which seems to me quite parallel
> to NVIDIA's offerings. I'll admit I haven't looked up the license
> details, so if you check and say that ATI opensourced everything I'll
> be very happy indeed.

I don't think they did. But writing an open-source implementation of OpenCL 
and/or ATI stream may be possible.

> 
> > and hopefully will soon have an open-source implementation:
> Sorry, but practical considerations may trump ideology, at least until
> the latter is adequately supported.

Right.

Regards,

	Shlomi Fish


-- 
-----------------------------------------------------------------
Shlomi Fish       http://www.shlomifish.org/
Best Introductory Programming Language - http://shlom.in/intro-lang

God considered inflicting XSLT as the tenth plague of Egypt, but then
decided against it because he thought it would be too evil.

Please reply to list if it's a mailing list post - http://shlom.in/reply .



More information about the Linux-il mailing list