multicore simulation software

multicore simulation software

Hi

I have a scheduling code and I want to try it on a different number of core (1,2,3,5,10) to see what is the effect of increasing the number of cores on the program.
So, I would like to ask:

Is there any tool or simulator software helping me to do this?

note: I have Intel(R) core(TM) i7 , windows 8

Thank you
 

 

11 Beiträge / 0 neu
Letzter Beitrag
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.
Bild des Benutzers jimdempseyatthecove

Your Core i7 likely has 4 cores, and if it has HT, then support for 8 hardware threads.

You could test your scaling from 1 to 4 cores (4 threads, 1 per core) as well as 8 threads (4 cores, 2 per core). Beyond that you will need a bigger system.

Look at using OpenMP for threading. It is easy to get started, however, keep in mind that you do have some issues to resolve that you do not have in a single threaded program. Your problem statement was "I have a scheduling code..". These types of problems typically contain a resource that is allocated dependent upon requirements and availability. An example might be seats in a classroom or on an airplane. At the point of allocation (acquisition) of a resource, the single threaded program can simply take it, because the availability of the resource will not change between the time you (your thread code) observes an availability, and the time you actually remove the resource. While this may be as close as two statements in your program, there is an interval between the two statements where a different thread can see the availability of the last resource. i.e. both take the last resource. There is a similar issue when the two thread decrement the count of available resources. What you need to learn is how to safely modify shared resources.

Good luck on your first venture into parallel programming.

Jim Dempsey

www.quickthreadprogramming.com
Bild des Benutzers iliyapolak

@Jim

Do you know any good resources or code samples for scientific multithreaded programming on Windows OS(Win API created threads)?

Thanks in advance.

Bild des Benutzers jimdempseyatthecove

Grr... this *&%# Windows keyboard layout on my Ultrabook killed a nice response I had written moments ago. I think an accidental bump of combination of keys, possibly Ctrl, Fn, "Windows", maybe Alt, possibly in combination with the touchpad, causes the IE session close. Like a hot key for Alt-F4.

>>Do you know any good resources or code samples for scientific multithreaded programming on Windows OS(Win API created threads)?

Let's see if I can red the post.

I am not a book learned type of person. More of a hands on type of person. My list of books is quite skimpy, and others here may have a better  choice.

Start with: http://www.amazon.com/Art-Concurrency-Monkeys-Parallel-Applications/dp/0596521537/ref=sr_1_11?s=books&ie=UTF8&qid=1393523669&sr=1-11&keywords=breshears

You might also look at: Structured Parallel Programming - McCool, Robison, Reinders
Though this book is aligned for using Cilk Plus and TBB

If you have a good (high speed) internet connection, try downloading: http://parsec.cs.princeton.edu/

This is the PARSEC benchmark suit of programs. Last I downloaded it was over 3GB of stuff. Much of it using pthreads. You can use on of several pthread libraries on Widows.

Jim Dempsey

www.quickthreadprogramming.com
Bild des Benutzers iliyapolak

@Jim

Thank you.

Bild des Benutzers Vladimir Polin (Intel)

Zitat:

jimdempseyatthecove schrieb:

You might also look at: Structured Parallel Programming - McCool, Robison, Reinders

Though this book is aligned for using Cilk Plus and TBB

I'd suggest to go to their site http://parallelbook.com/

It contains code samples from the book and their great tutorial from SuperComputing 2013 (http://parallelbook.com/sites/parallelbook.com/files/SC13_20131117_Intel...).

and book itself is pretty cool.:) in addition to Cilk Plus and TBB there is OpenMP.

--Vladimir

Bild des Benutzers iliyapolak

>>>>Much of it using pthreads. You can use on of several pthread libraries on Widows.>>>

My intention was to port some of the multithreaded programs written with pthreads to  use Win API threads functions.

Btw, Win pthreads libraries probably are built on top of Win API thread and process functions.

thank you for your response

 what about if I have normal program and want to see the effect of core in it ?

I should try it in (1,2,3,4,5,10) because I want to re-do specific experiment of paper

IS there any software simulator or virtual  for number of core?

or I should use thread and change my code for each core? what is the best way to use thread?

 

Bild des Benutzers Vladimir Polin (Intel)

Zitat:

iliyapolak schrieb:

>>>>Much of it using pthreads. You can use on of several pthread libraries on Widows.>>>

My intention was to port some of the multithreaded programs written with pthreads to  use Win API threads functions.

Btw, Win pthreads libraries probably are built on top of Win API thread and process functions.

I suggest to look at Tachyon tbb example. there is winthread wrapper for pthreads. <install>\examples\parallel_for\tachyon\src\pthread.[cpp|h] files.

Bild des Benutzers Vladimir Polin (Intel)

Zitat:

shoog a. schrieb:

IS there any software simulator or virtual  for number of core?

or I should use thread and change my code for each core? what is the best way to use thread?

you can try to use Intel Advisor http://software.intel.com/sites/products/documentation/hpc/ics/icsxe2013/icsxe_tutorial/Windows_advisor_xe.htm

Bild des Benutzers iliyapolak

Thanks Vladimir.

Melden Sie sich an, um einen Kommentar zu hinterlassen.