CMS-Flow:Multiple Processor Capability

From CIRPwiki
Jump to navigation Jump to search

Multiple Processor Capability

Both Intel and AMD processors now are shipping chips with multiple cores/processors (henceforth referred to as "processors") available.

Presently (08/4/2009) - To enable use of more than one processor (or more than one thread) in CMS-Flow, the user must specify the corresponding "Card" in the "Advanced" tab in the CMS-Flow model control in SMS 10.1 (unavailable in version SMS 10.0 and earlier):

OPENMP_THREADS <# of threads> This card takes as an argument the number of threads to use for a given application with the following rules:

  1. If more threads are requested than are available, only the maximum on the machine are used.
  2. If hyperthreading is allowed on that chip's architecture, all threads are used, up to the number requested.
 EXAMPLE 1
   Your machine has 8 cores, and you want to start a CMS-Flow run that 5 threads.
   "OPENMP_THREADS <white space> 5" is specified in the Advanced Card section.

Hyperthreading

  • Some of the higher-end chips have a feature called "Hyperthreading" which allows each processor to split further into two "threads" which could further increase throughput of the work that processor performs. For example, on an Intel Extreme Quad-core processor there are 4 cores, but with hyperthreading, there is a possibility of using 8 separate threads.
  • If you know that your computer has hyperthreading, you can actually specify "OPENMP_THREADS 2" and get better performance while still only using one physical processor.
 EXAMPLE 2
   Your machine has 4 Hyperthreading cores, and you want to start a CMS-Flow run that 
   uses 5 threads (leaving 3 threads for other system and user processes).  
   You would enter the card "OPENMP_THREADS <white space> 5" and CMS-Flow would use 5
   threads.

Requesting too many threads

  • If you specify a number that is too large for your particular machine to use, CMS-Flow will use the maximum number of threads available.
 EXAMPLE 3
   Your machine has 2 cores, and you start a CMS-Flow run with the card:  
     "OPENMP_THREADS   3".
   CMS-Flow will realize that your machine has only 2 cores and is not capable of 
   hyperthreading.  The number of processors that will be used is 2.

SMS 10.1+ How-to

The following animation quickly goes through the steps needed to add this capability to a CMS-Flow simulation. Animation