climateprediction.net home page
Using GPUs for number crunching
Using GPUs for number crunching
log in

Advanced search

Questions and Answers : Wish list : Using GPUs for number crunching

1 · 2 · 3 · 4 . . . 5 · Next
Author Message
old_user7711
Send message
Joined: 1 Sep 04
Posts: 4
Credit: 240,538
RAC: 0
Message 33133 - Posted: 29 Mar 2008, 20:14:27 UTC

Has anyone given any consideration of coding a plug in that would allow using the processor in a GPU to do the math for this project. NVidia has \"cuda\" which enables C programs to utilized the advanced processors in their 8xxx series and higher graphics cards to be used for number crunching.

Considering the time it takes to process a single model, even on a reasonably fast machine I believe this would greatly benifit the project.

Thanks
____________

Les Bayliss
Volunteer moderator
Send message
Joined: 5 Sep 04
Posts: 6408
Credit: 16,839,542
RAC: 21,887
Message 33134 - Posted: 29 Mar 2008, 20:45:07 UTC


This matter has been brought up many times.
It won\'t work, because the maths of the GPU isn\'t good enough for science apps, just graphics displays.

Profile Pooh Bear 27
Avatar
Send message
Joined: 5 Feb 05
Posts: 465
Credit: 1,914,189
RAC: 0
Message 33135 - Posted: 29 Mar 2008, 20:47:48 UTC

If it were feasible (problem is CPDN uses Fortran, so it\'s impossible to make calls to the GPU), don\'t you think most of the projects would have done so by now?

____________

Profile mo.v
Volunteer moderator
Avatar
Send message
Joined: 29 Sep 04
Posts: 2363
Credit: 10,773,446
RAC: 2,347
Message 33137 - Posted: 29 Mar 2008, 21:11:15 UTC
Last modified: 29 Mar 2008, 21:12:31 UTC

I\'m not surprised that all sorts of possibilities seem reasonable and feasible because there are computers of sorts everywhere. I actually read that some project or other can already or will be able to run on a lawnmower. Honest, I\'m not kidding. The processor in a GPU seems in comparison a very sensible suggestion.
____________
Cpdn news

Les Bayliss
Volunteer moderator
Send message
Joined: 5 Sep 04
Posts: 6408
Credit: 16,839,542
RAC: 21,887
Message 33138 - Posted: 29 Mar 2008, 22:12:30 UTC
Last modified: 3 Apr 2009, 22:26:26 UTC

\"run on a lawnmower\" was probably DIY@home, using various attachments to dig up the garden, trim the hedges, clean the swimming pool, and take the dog for walkies.

Profile mo.v
Volunteer moderator
Avatar
Send message
Joined: 29 Sep 04
Posts: 2363
Credit: 10,773,446
RAC: 2,347
Message 33149 - Posted: 30 Mar 2008, 16:58:59 UTC

I posted about it here. The link goes to an article about Folding@Home. The disappointing lack of responses to my post means I still haven\'t managed to connect the Qualcast to the internet.
____________
Cpdn news

Les Bayliss
Volunteer moderator
Send message
Joined: 5 Sep 04
Posts: 6408
Credit: 16,839,542
RAC: 21,887
Message 33151 - Posted: 30 Mar 2008, 17:45:15 UTC


If one Googles for: boinc lawnmower there will be a lot of web pages.

The story seems to have several origins, most I think on SETI (It\'s a while since I looked):

1) A post about a person\'s computer sounding like a lawnmower when running BOINC.

2) A person saying that others where getting lots more credit than him, and that he need more horsepower. Followed by a post saying that he needed a better computer, not a bigger car engine. Followed by the original poster saying: Oh! I was just about to connect my lawnmower to the net and run BOINC on it.

3) A person talking about attaching a laptop to his lawnmower, so that he didn\'t lose any time computing.

4) (Possibly in the same thread as the previous one.) A person asking about someone else\'s post elsewhere, who was remote controlling his lawnmower, and asking if it involved a computer, and how did he program it to avoid obstacles.

At least some the posts went back to about 2005, and I think that folding@home was mentioned, but on a computer programming forum.

And some of the BOINC project posts mentioned lawnmowers as a side matter.
(One of the posters hurt his back while mowing the lawn, another used his lawnmower to \"rake up\" the leaves.)

old_user7711
Send message
Joined: 1 Sep 04
Posts: 4
Credit: 240,538
RAC: 0
Message 33153 - Posted: 30 Mar 2008, 20:39:31 UTC - in response to Message 33135.

If it were feasible (problem is CPDN uses Fortran, so it\'s impossible to make calls to the GPU), don\'t you think most of the projects would have done so by now?

There are Cuda add ons for SETI that have been certified. It might require transfering the entire process to a new program. With out the code to look at I can\'t say. That\'s is why I asked.

old_user7711
Send message
Joined: 1 Sep 04
Posts: 4
Credit: 240,538
RAC: 0
Message 33154 - Posted: 30 Mar 2008, 20:41:28 UTC - in response to Message 33134.


This matter has been brought up many times.
It won\'t work, because the maths of the GPU isn\'t good enough for science apps, just graphics displays.


Gee, And here all the time I thought it took a bunch of equations to move the little gobler in packman.

Les Bayliss
Volunteer moderator
Send message
Joined: 5 Sep 04
Posts: 6408
Credit: 16,839,542
RAC: 21,887
Message 33156 - Posted: 30 Mar 2008, 20:58:17 UTC


These climate programs are a million or so lines of Fortran, written by many people over several decades, to run on the supercomputers at the UK\'s Met Office.

The maths uses very large numbers of precision because of the need to encompass the range of things like the large amount of water vapour in the air, while at the same time including the miniscule amounts of things like sulphate particules.

The graphics for computer games don\'t have anywhere near the same range of values.

old_user7711
Send message
Joined: 1 Sep 04
Posts: 4
Credit: 240,538
RAC: 0
Message 33919 - Posted: 26 May 2008, 13:01:37 UTC - in response to Message 33156.


These climate programs are a million or so lines of Fortran, written by many people over several decades, to run on the supercomputers at the UK\'s Met Office.

The maths uses very large numbers of precision because of the need to encompass the range of things like the large amount of water vapour in the air, while at the same time including the miniscule amounts of things like sulphate particules.

The graphics for computer games don\'t have anywhere near the same range of values.


Thanks for the info. Nice to know there are is at least someone willing to hoist out and be civil.

Profile mo.v
Volunteer moderator
Avatar
Send message
Joined: 29 Sep 04
Posts: 2363
Credit: 10,773,446
RAC: 2,347
Message 33939 - Posted: 28 May 2008, 23:32:54 UTC
Last modified: 28 May 2008, 23:36:56 UTC

Hi Dale

I hope I didn\'t offend you by my posts in this thread. I didn\'t intend to suggest in any way that your original suggestion in your opening post wasn\'t reasonable. It was of course a perfectly sensible suggestion, even though it\'s not useful for CPDN.

If I gave the wrong impression by going off at a tangent, or appeared to be treating your suggestion flippantly, I do apologise and assure you that this was never my intention.

Mo
____________
Cpdn news

PunkSkeleton
Send message
Joined: 6 Mar 09
Posts: 1
Credit: 0
RAC: 0
Message 36324 - Posted: 6 Mar 2009, 21:14:48 UTC - in response to Message 33156.
Last modified: 6 Mar 2009, 21:15:08 UTC


The maths uses very large numbers of precision because of the need to encompass the range of things like the large amount of water vapour in the air, while at the same time including the miniscule amounts of things like sulphate particules.

The graphics for computer games don\'t have anywhere near the same range of values.

32-bit computers are limited to 32 bits. NVidia CUDA is in fact also 32-bit so this argument is invalid.
Handling of large or high-precision numbers is always done by dedicated algorithms, you can port those to CUDA without any problems. Then of course rewriting the whole code from fortran to multi-threaded CUDA C is difficult and time consuming and THERE ARE some things you can\'t do on GPU. Usually the problem is simply with converting something that was intented to be run linearly to something that can utilize parallelism.

Les Bayliss
Volunteer moderator
Send message
Joined: 5 Sep 04
Posts: 6408
Credit: 16,839,542
RAC: 21,887
Message 36325 - Posted: 6 Mar 2009, 21:36:51 UTC

The 32 bits limitation is in the memory addressing range.
Internally, the processors use registers which can handle larger bits of precision.

e.g. see this article, at the end of the section: Integer range

Michael Goetz
Avatar
Send message
Joined: 2 Feb 05
Posts: 3
Credit: 233,921
RAC: 0
Message 36382 - Posted: 14 Mar 2009, 15:53:42 UTC - in response to Message 33156.


These climate programs are a million or so lines of Fortran, written by many people over several decades, to run on the supercomputers at the UK\'s Met Office.

The maths uses very large numbers of precision because of the need to encompass the range of things like the large amount of water vapour in the air, while at the same time including the miniscule amounts of things like sulphate particules.

The graphics for computer games don\'t have anywhere near the same range of values.


A year has past since this post, so I think I\'ll revisit it.

My understanding (I\'m not an expert on this) is that the latest Nvidia cards support double precision math. (As you stated, most older cards only did single precision math, since that was more than enough for graphics.)

Does CPDN use precision higher than double? If so, that\'s not supported in the CPU hardware either, so it would have to be emulated in the Fortran libraries. That emulation could be ported to the GPU.

If double precision is used in the calculations, that\'s directly supported by the newer GPUs.

Considering those GPUs run an order of magnitude faster than even the fastest CPUs, and the length of the CPDN workunits, this would be a superb project to be GPU\'d.

All that aside, there\'s the Fortran thing. Porting massive programs from Fortran to C is not a trivial task, and that, in and of itself, might prohibit CPDN from ever being available on a GPU.

As for converting the app to run on a parallel processor, I would think that CPDN would be a great fit for this. The supercomputers used to run many weather forecasting systems are (or were) supercomputers because of their specialized vector (i.e., parallel) math capabilities. I\'d be surprised if the original code written for the supercomputers wasn\'t written to take advantage of the parallel processing abilities of those computers.

An awful lot of coding would be involved. Not only do you have to translate the programing language, but rewriting the application to take good advantage of the specific type of parallel processing available in a GPU is something that requires some skill, thought, and time.

I guess it depends on where the project wants to put its resources. There\'s a ton of GPU processing ability out there. Is it worth it to get results back much faster, meaning many more WUs get processed? Imagine crunch times for CPDN models that are measured in hours, instead of days. (The latest GPUs could probably complete the smaller CPDN models in less than a day.)

Mike

____________

Les Bayliss
Volunteer moderator
Send message
Joined: 5 Sep 04
Posts: 6408
Credit: 16,839,542
RAC: 21,887
Message 36383 - Posted: 14 Mar 2009, 16:23:21 UTC

Let\'s look at it from a different direction.
The project\'s servers are already struggling to cope with the huge amounts of data being returned. Why do you want to increase this so drastically?

It would be simpler to decrease the so called \"deadline\" to 6 months, so that the thousands of people who feel that they have years to return the complete model, speed up their processing.

And I\'m sure that the project\'s programmer has heard of GPUs and cuda.

Profile mo.v
Volunteer moderator
Avatar
Send message
Joined: 29 Sep 04
Posts: 2363
Credit: 10,773,446
RAC: 2,347
Message 36384 - Posted: 14 Mar 2009, 17:09:02 UTC
Last modified: 14 Mar 2009, 17:10:39 UTC

It\'s also a question of the manpower available, which depends entirely on funding. CPDN has two full-time programmers and a small number of researchers who help out to some extent with the model programming. Last year we spent at least 6 months beta-testing models to make them and their graphics BOINC 6-compatible. As a result CPDN is well behind schedule with one big new research project and there\'s another queuing up.

The models have to be released and crunched to tight deadlines so the PhD students get their data in time to analyse it and write up their research within the 3-year limit for PhD grants. The programmers already have a hard time meeting some of the deadlines set for them by the researchers.

There\'s just no slack in the system at CPDN, at least at the moment, to redesign anything from zero. Everybody\'s already working flat out.
____________
Cpdn news

Michael Goetz
Avatar
Send message
Joined: 2 Feb 05
Posts: 3
Credit: 233,921
RAC: 0
Message 36385 - Posted: 14 Mar 2009, 21:39:37 UTC - in response to Message 36384.

It\'s also a question of the manpower available, which depends entirely on funding. CPDN has two full-time programmers and a small number of researchers who help out to some extent with the model programming. Last year we spent at least 6 months beta-testing models to make them and their graphics BOINC 6-compatible. As a result CPDN is well behind schedule with one big new research project and there\'s another queuing up.

The models have to be released and crunched to tight deadlines so the PhD students get their data in time to analyse it and write up their research within the 3-year limit for PhD grants. The programmers already have a hard time meeting some of the deadlines set for them by the researchers.

There\'s just no slack in the system at CPDN, at least at the moment, to redesign anything from zero. Everybody\'s already working flat out.


Thanks for the informative reply! I didn\'t realize CPDN had an issue with processing the incoming results. I can certainly understand how the very last thing you would want to do would be to speed up the client-side processing!

And I fully understand that the effort involved would be very large. I\'ve personally done the Fortran to C translation on a very large program, and the two languages are simply from very different eras. They don\'t map to each other very well, at least not if you want to end up with understandable C code when you\'re done. A lot of effort is required to do it right.

Once again, thanks for the explanation.

Regards,
Mike

Profile old_user27607
Send message
Joined: 28 Oct 04
Posts: 64
Credit: 34,444,555
RAC: 0
Message 36618 - Posted: 3 Apr 2009, 17:14:25 UTC

Yikes! We\'re doing more work than you can process!

Well, maybe it\'s time for some volunteer processor time for results analysis. Maybe the code can be easily converted, maybe not, but it must be easier than converting CPDN by a lot.

And if they are using a commercial analysis tool, it may already be available for micros.

I\'m ready to volunteer one or two machines for this work. What would it take?
PS. Physics degree, long time programmer, starting with Fortran.

BillN
____________

Profile mo.v
Volunteer moderator
Avatar
Send message
Joined: 29 Sep 04
Posts: 2363
Credit: 10,773,446
RAC: 2,347
Message 36619 - Posted: 3 Apr 2009, 19:34:47 UTC

Hi Bill

When Les said \'The project\'s servers are already struggling to cope with the huge amounts of data being returned.\' I think he was mostly referring to the extraction of data for the researchers. Milo must set up a search for a particular model type and within that type for models that produced a particular sort of result or that have specific parameters values. Because the ensembles are so large, these searches are huge and can take two days or more. I assume he does these searches on the climateapps2 server because when he\'s extracting data this forum slows down.

I expect he then transfers what he\'s extracted to the researchers\' own computers where they analyse the extracted models with whatever statistical program they use. One of my sons is involved in research into optimising renal dialysis; he has a massive database of results but his hospital provides him with a commercial statistical analysis program. I expect CPDN provides some similar program for its research staff and students.
____________
Cpdn news

1 · 2 · 3 · 4 . . . 5 · Next

Questions and Answers : Wish list : Using GPUs for number crunching


Main page · Your account · Message boards


Copyright © 2017 climateprediction.net