- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Tags:
- Parallel Computing
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@Jim
Do you know any good resources or code samples for scientific multithreaded programming on Windows OS(Win API created threads)?
Thanks in advance.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@Jim
Thank you.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
jimdempseyatthecove wrote:
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_McCool_Robison_Reinders_Hebenstreit.pdf).
and book itself is pretty cool.:) in addition to Cilk Plus and TBB there is OpenMP.
--Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
>>>>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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
iliyapolak wrote:
>>>>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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
shoog a. wrote:
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Vladimir.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page