Implementing Dual Core Programming for Stochastic Chemical Simulations

Click For Summary

Discussion Overview

The discussion centers around implementing dual core programming for a stochastic simulator used in chemical rate equations. Participants explore methods to effectively utilize dual core processors, specifically the AMD Athlon 64 X2 4200+, and consider various parallel programming approaches.

Discussion Character

  • Technical explanation, Debate/contested, Experimental/applied

Main Points Raised

  • One participant inquires about the best approach to manually implement dual core solutions, questioning whether to use OpenMP or MPI.
  • Another participant suggests that simply using multiple threads allows the operating system to manage load balancing across the cores effectively.
  • A different viewpoint proposes that assigning specific threads to different processors could ensure they operate independently on separate cores.
  • There is a discussion about the suitability of OpenMP versus MPI, with a note that OpenMP requires compiler support and that MPI may be preferable for code intended for clusters.
  • One participant shares a personal experience suggesting that automatic parallelization by compilers may not be reliable.

Areas of Agreement / Disagreement

Participants express differing opinions on the best approach to implement dual core programming, with no consensus reached on a single method or library to use.

Contextual Notes

There are limitations regarding the assumptions about compiler support for OpenMP and the effectiveness of automatic parallelization, which remain unresolved.

Who May Find This Useful

This discussion may be useful for developers and researchers working on parallel programming in chemical simulations, particularly those interested in optimizing performance on dual core processors.

ptabor
Messages
14
Reaction score
0
Hello all,

I'm running a stochastic simulator for chemical rate equations and I'd like to know how to specifically impelement a dual core solution on my AMD athlon 64 X2 4200+ processors.

When I run the task manager with the simulator running, it is apparent that both cpus are running cycles - but I'd like to rig it up to do this manually.

Will I be dealing with OpenMP or MPI or something else altogether?

any info would be appreciated
 
Technology news on Phys.org
Just use more than one thread, and the OS will automatically load-balance the two cores effectively.

- Warren
 
You can also assign different threads to run on different processors if you want to ensure they'll be running on different processors.
 
ptabor said:
Will I be dealing with OpenMP or MPI or something else altogether?

If you're planning on porting your code to a cluster, you'd probably want to go with a process-oriented library like MPI. Otherwise, either OpenMP or MPI should work okay. OpenMP requires compiler support. What OS are you running?

Some compilers promise to automatically parallelize your code; my (very little) experience has been this doesn't work very well.

Good luck,
Tim
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 3 ·
Replies
3
Views
15K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 13 ·
Replies
13
Views
4K