[ale] OT: Multi-core Utilization

Jim Kinney jim.kinney at gmail.com
Fri Mar 8 12:40:41 EST 2013


It's very system dependent right now. To parallelize fortran requires a
compiler that supports it. gnu-fortran does not (outside of some
experimental versions).

You need to decide early in the code how many threads you can launch and
then divide your problem into that many chunks. Then it's spawn children
with a set of number to crunch. With some slick params you can pin a
process to a core so it won't get migrated around during system checks.

Or, as suggested, dump it to a gpu with cuda or opencl and let it handle
the crunch.

Heh. I've done parallel bash.

On Fri, Mar 8, 2013 at 11:33 AM, Jeff Hubbs <jhubbslist at att.net> wrote:

> My *practical* experience has a hole in it when it comes to developing
> software to efficiently use multiple cores in a machine.
>
> If I'm writing code in the likes of C++, Python, or Fortran (acknowledging
> that I've got a range of programming paradigms there) and let's say that
> I'm subtracting two 2-D arrays of floating point numbers from one another
> element-wise, how is it that the operation gets blown across multiple CPU
> cores in an efficient way, if at all?  Bear in mind that if this is done in
> Fortran, it's done in a pair of nested do-loops so unless the compiler is
> really smart, that becomes a serial operation.
> ______________________________**_________________
> Ale mailing list
> Ale at ale.org
> http://mail.ale.org/mailman/**listinfo/ale<http://mail.ale.org/mailman/listinfo/ale>
> See JOBS, ANNOUNCE and SCHOOLS lists at
> http://mail.ale.org/mailman/**listinfo<http://mail.ale.org/mailman/listinfo>
>



-- 
-- 
James P. Kinney III
*
*Every time you stop a school, you will have to build a jail. What you gain
at one end you lose at the other. It's like feeding a dog on his own tail.
It won't fatten the dog.
- Speech 11/23/1900 Mark Twain
*
http://electjimkinney.org
http://heretothereideas.blogspot.com/
*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ale.org/pipermail/ale/attachments/20130308/39158251/attachment.html>


More information about the Ale mailing list