CMS-Flow:Multiple Processor Capability

From CIRPwiki
Revision as of 22:11, 13 May 2010 by *>Mitchell brown (Unprotected CMS-Flow:Multiple Processor Capability)
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