CMS-Flow:Multiple Processor Capability: Difference between revisions
Jump to navigation
Jump to search
*>Mitchell brown (Created page with '===Multiple Processor Capability=== Both Intel and AMD processors now are shipping chips with multiple cores/processors (henceforth referred to as processors) available. Pres…') |
mNo edit summary |
||
(10 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
==Multiple Processor Capability== | |||
Both Intel and AMD processors now are shipping chips with multiple cores/processors (henceforth referred to as processors) available. | 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): | 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 | OPENMP_THREADS <# of threads> | ||
This card takes as an argument the number of threads to use for a given application with the following rules: | This card takes as an argument the number of threads to use for a given application with the following rules: | ||
Line 12: | Line 12: | ||
EXAMPLE 1 | EXAMPLE 1 | ||
Your machine has 8 cores, and you want to start a CMS-Flow run that 5 threads. | 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. | "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. | *'''''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. | *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 | EXAMPLE 2 | ||
Your machine has 4 Hyperthreading cores, and you want to start a CMS-Flow run that | 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). | 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 | You would enter the card "OPENMP_THREADS <white space> 5" and CMS-Flow would use 5 | ||
threads. | 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. | *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 | EXAMPLE 3 | ||
Your machine has 2 cores, and you start a CMS-Flow run with the card: | Your machine has 2 cores, and you start a CMS-Flow run with the card: | ||
OPENMP_THREADS 3. | "OPENMP_THREADS 3". | ||
CMS-Flow will realize that your machine has only 2 cores and is not capable of | 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'''. | 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. | |||
[http://cirp.usace.army.mil/products/tutorials/MultiProcesses.html Animation] | |||
[[category:CMS-Flow]] |
Latest revision as of 16:06, 23 January 2023
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:
- If more threads are requested than are available, only the maximum on the machine are used.
- 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