Re-Use, Multi-Threading and SUN Grid Engine(SGE)

004_cell : Re-Use, Multi-Threading and SUN Grid Engine(SGE)

Minimum Required Versions: AccuCell 2.6.0.R, SmartSpice 4.6.2.R

This example explains the use of AccuCell's options for:

  • utilizing prior results to speedup AccuCell cell characterization jobs
  • utilizing multiple cores and processors on a single machine to speedup AccuCell cell characterization jobs
  • utilizing SUN Grid Engine(SGE) to speedup AccuCell cell characterization jobs

Each of the above options can be used independently and concurrently and is controlled by a separate AccuCell command in the library level .cfg file. A small example cell set comprising the following is provided to demonstrate these functions:

  • inv
  • mux2
  • nand2
  • nor2
  • xnor2
  • xor2
  • dff
  • latch
  • tristate
  • pad

CACHE_AND_REUSE_RESULTS 1 controls results re-use to skip cells that do not need to be re-run. Depending on the nature of the changes between runs some or all of the applicable cells may bypass simulation thereby speeding up subsequent runs of AccuCell. Accuracy of results is in NO WAY compromised by the use of this command.

THREAD_COUNT <num_of_threads> Specifies the maxium number of cores and processors in a single machine to use on high performance multi-threading systems. Use of this capability by AccuCell is completely automatic and transparent to the user in scheduling and managing simulation jobs and collecting and merging results. Unlike SGE enviroments, no other installation and job control knowledge is required for use.

For optimal results the number of cells to be characterized should be greater than the maximum number of threads. A multi-threading SPICE simulator is NOT required to use this option, however when utilizing an external SPICE simulator a suitable number of SPICE licenses is required for maximum benefit. When using the included embedded SmartSpice SPICE simulator which is separately multi-thread enabled, SmartSpice will also separately and automatically control the use of multiple threads depending on the nature of the SPICE simulation job to be run at that time.

The user is cautioned to set the thread count value with care in multi-user highly threaded machine environments so as to not saturate the machine when processing a large library. Use of a dedicated machine is advised. While AccuCell will run in this mode across a network with a Storage Array Network(SAN) system, maximum perfromance will be achieved when run utilizing a local machine drive other than the system OS drive. This is especially true when utilizing an external simulator.

As a general rule the target value for the maximum number of threads specified should not exceed the total of the_number_of_processors x the_number_cores_per_processor. The optimal value will be dependent on machine configuration and current job loading. Setting the thread count value too high WILL result in an overall loss in job performance.

A careful review of actual performance should be conducted when utilizing machines with hyperthreading capability and it is likely that this feature should be disabled in the BIOS of the machine. This is especially true if the machine is dedicated to running SILVACO multi-threading applications.

SUN_GRID_ENGINE 1 controls enabling the use of grid based multi-machine networked compute farm environments. SGE is a free utility to configure, control and mangage the system. Contact your system administrator regarding policies and details on the use of SGE. AccuCell will automatically work within this system when this switch is enabled and is fully compatible with all SGE options and configuration settings.

The AccuCell Reference Manual explains each of these commands in more detail.