parallel-programming

What parallel programming model do you recommend today to take advantage of the manycore processors of tomorrow?

If you were writing a new application from scratch today, and wanted it to scale to all the cores you could throw at it tomorrow, what parallel programming model/system/language/library would you choose? Why? I am particularly interested in answers along these axes: Programmer productivity / ease of use (can mortals successfully use ...

Parallel Programming, should we throw out our tools and start over with new, safer tools?

In a Channel 9 interview, David Callahan of Microsoft said, Yes we would like to give you perfectly safe tools. That would require a complete rewrite of the infrastructure on up. So instead we will give you strong, effective tools and guidance on how to use them. Is this really a good idea? Should be just continue refining our tool...

What are the developments going on in all languages in parallel programming area

As we are nearing the 8-Core and 16-Core CPUs, what are the various advances going on in parallel programming area in all the languages? I am aware of a parallel task library in .Net, and also of a language Erlang which I think is inherently parallel. But what is the state of various other mainstream languages. ...

Current "hot" topics in parallel programming?

Hi, I hope this is the right place to ask[1], but I've read a lot of good comments on other topics here so I'll just ask. At the moment I'm searching for a topic for my dissertation (Ph.d in non-german countries I think), which must have to do something with parallelism or concurrency, etc. but otherwise I'm quite free to chose what I'm...

Parallelization: What causes Java threads to block other than synchronization & I/O?

Short version is in the title. Long version: I am working on a program for scientific optimization using Java. The workload of the program can be divided into parallel and serial phases -- parallel phases meaning that highly parallelizable work is being performed. To speed up the program (it runs for hours/days) I create a number of t...

Platform-independent concurrent programming libraries for C++

Hi, I am familiar with concurrent programming in Java which provides a lot of tools for this. However, C++ concurrent programming isn't so easy to start using. What is the best way to start programming concurrently on C++? Are there any nice libraries which wrap concurrent programming primitives and provide you with more high-level con...

Is there a good podcast about concurrency?

Hi All, Concurrency is one of the hot topics on quite a few technology podcasts. Yet I couldn't find a podcast dedicated to concurrency programming fundamentals, techniques etc. If there's no podcast that specializes on concurrency which of technology podcasts highlights this topic best? ...

Getting NULL communicators with MPI_Cart_create, MPICH

Hi I wrote this program for my homework (parallel programming), but I'm getting some errors on running. This is the source: /**************************************** * Program: * * ALL_TO_ALL_BROADCAST_MESH * * * * Author: * * ------------------- * * ------------------- * ***************...

Parallel algorithm design.

I'm trying to figure out what is the best practice while designing parallel algorithm for model of data distribution. What could be pros and cons against block distribution vs cyclic distribution of data in memory. Any help would be appreciated. ...

Sharing Static Data Outside of the Class

Hello. First, here is a motivating example: public class Algorithm { public static void compute(Data data) { List<Task> tasks = new LinkedList<Task>(); Client client = new Client(); int totalTasks = 10; for(int i = 0; i < totalTasks; i++) tasks.add(new Task(data)); client.submit(tasks); } }...

How is MPI I/O Implemented?

Long-Winded Background I'm working on parallelising some code for cardiac electrophysiology simulations. Since users can specify their own simulations using an in-built scripting language, I have no way of knowing how to manage the trade-off of communication vs. computation. To combat this, I'm making a sort-of runtime profiler, which w...

Auto implementing looping

I don't know if the title makes sense, but in the app I am writing there are lots of (extension) methods. A simple example: Objects: Matter (Burn, Explode, Destroy, Freeze, Heat, Cool) Atom (Attach, Detach) <many more> And a custom collection like: ImmutableList<T> And methods like these: public static class Burner { public s...

How to determine the optimum number of worker threads

Hello all, I wrote a C program which reads a dataset from a file and then applies a data mining algorithm to find the clusters and classes in the data. At the moment I am trying to rewrite this sequential program multithreaded with PThreads and I am newbie to a parallel programming and I have a question about the number of worker threa...

Parallelizing nested loops with dependencies

My question is about how best to structure my (C++) code to support parallelizing a time consuming computation. The pseudocode in question has the following structure: for a_1(y_1) in A_1 for a_2(y_2) in A_2(a_1) ... for a_n(y_n) in A_n(a_1, ..., a_{n-1}) y_n = f(a_1, ..., a_n) y_{n-1} = g_n(Y_n) ... ...

Benefits of Parallel programming

I have three similar questions: Which known applications have benefits of multicore processors? Which known applications use posix threads (pthreads)? What can pthreads do that Java threads cannot? ...

parallelizing code using openmp

Hi, The function below contains nested for loops. There are 3 of them. I have given the whole function below for easy understanding. I want to parallelize the code in the innermost for loop as it takes maximum CPU time. Then i can think about outer 2 for loops. I can see dependencies and internal inline functions in the innermost for loo...

shared memory vs distributed memory and multithread vs multiprocess

I am learning parallel programming by myself. I wonder if distributed memory is always multiprocess and multithread is always shared memory? if multiprocess can be both for distributed memory and for shared memory? Thanks and regards! ...

Is there a list somewhere of video cards that support GPGPU programming?

Mine is a "NVIDIA GeForce 9500 GS" and everywhere I've searched I can only find "9500 GT" ... does that mean the 9500 GS does not support any GPGPU language such as CUDA? ...

Difference between multithreaded and parallel programming

Is there a difference between multithreaded and parallel programming? If related (which I guess they are) is parallel programming the successor of multithreaded programming in terms of terminology? The reason I am asking is because I want to buy a book on one (maybe both) of the above. ...

concurrent write to same memory address

If two threads try to write to the same address at the same time, is the value after the concurrent write guaranteed to be one of the values that the threads tried to write? or is it possible to get a combination of the bits? Also, is it possible for another thread to read the memory address while the bits are in an unstable state? I ...