Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to do hardware independent parallel programming?

These days there are two main hardware environments for parallel programming, one is multi-threading CPU's and the other is the graphics cards which can do parallel operations on arrays of data.

The question is, given that there are two different hardware environments, how can I write a program which is parallel but independent of these two different hardware environments. I mean that I would like to write a program and regardless of whether I have a graphics card or multi-threaded CPU or both, the system should choose automatically what to execute it on, either or both graphics card and/or multi-thread CPU.

Is there any software libraries/language constructs which allow this?

I know there are ways to target the graphics card directly to run code on, but my question is about how can we as programmers write parallel code without knowing anything about the hardware and the software system should schedule it to either graphics card or CPU.

If you require me to be more specific as to the platform/language, I would like the answer to be about C++ or Scala or Java.

Thanks

like image 630
Phil Avatar asked Jun 17 '11 06:06

Phil


People also ask

How is Parallelisation managed in coding?

With parallel programming, a developer writes code with specialized software to make it easy for them to run their program across on multiple nodes or processors. A simple example of where parallel programming could be used to speed up processing is recoloring an image.

What are the four types of parallel computing?

There are several different forms of parallel computing: bit-level, instruction-level, data, and task parallelism.

What is parallel processing hardware?

Parallel processing is a method in computing of running two or more processors (CPUs) to handle separate parts of an overall task. Breaking up different parts of a task among multiple processors will help reduce the amount of time to run a program.


1 Answers

Martin Odersky's research group at EPFL just recently received a multi-million-euro European Research Grant to answer exactly this question. (The article contains several links to papers with more details.)

like image 132
Jörg W Mittag Avatar answered Sep 28 '22 16:09

Jörg W Mittag