taucmdr.cf.platforms module

Supported computing platforms.

I’d rather call this module “taucmdr.cf.platform” but that would conflict with platform.

class taucmdr.cf.platforms.Architecture(*args, **kwargs)[source]

Bases: KeyedRecord

Information about a processor architecture.

name

Short string identifying this architecture.

Type:

str

description

Description of the architecture.

Type:

str

_detect = <taucmdr.cf.platforms.Architecture object>
classmethod detect()[source]

Detect the processor architecture we are currently executing on.

Asks Python’s platform module. The detected value is cached.

Returns:

The matching architecture description.

Return type:

Architecture

Raises:

ConfigurationError – Host architecture not supported.

class taucmdr.cf.platforms.OperatingSystem(*args, **kwargs)[source]

Bases: KeyedRecord

Information about an operating system.

name

Short string identifying this operating system.

Type:

str

description

Description of the operating system.

Type:

str

_detect = <taucmdr.cf.platforms.OperatingSystem object>
classmethod detect()[source]

Detect the operating system we are currently running on.

Mostly relies on Python’s platform module but may also probe environment variables and file systems in cases where the arch isn’t immediately known to Python. These tests may be expensive so the detected value is cached to improve performance.

Returns:

The matching operating system description.

Return type:

OperatingSystem

Raises:

ConfigurationError – Host operating system not supported.

is_cray_login()[source]

Check whether this is a Cray login node.

Returns:

True if running on a Cray login node.

Return type:

bool

class taucmdr.cf.platforms.TauMagic(*args, **kwargs)[source]

Bases: KeyedRecord

Maps (architecture, operating system) tuples to TAU’s magic words.

The key is a (Architecture, OperatingSystem) tuple since TAU’s architecture mapping is not one-to-one. For example, TAU uses the magic word ‘craycnl’ for every Cray system, whatever its CPU. TAU Commander needs to know the “real” CPU architecture and operating system so it can chose the right compilers and dependencies for TAU.

name

Name of the TAU architecture (the magic word)

Type:

str

architecture

Architecture object for this TAU architecture.

Type:

Architecture

operating_system

OperatingSystem object for this TAU architecture.

Type:

OperatingSystem

preferred_families

Preferred compiler families indexed by Knowledgebase.

Type:

dict

_detect = <taucmdr.cf.platforms.TauMagic object>
classmethod detect()[source]

Detect TAU magic for the target we are currently executing on.

Mostly relies on Python’s platform module but may also probe environment variables and file systems in cases where the arch isn’t immediately known to Python. These tests may be expensive so the detected value is cached to improve performance.

Returns:

The matching taucmdr architecture description.

Return type:

TauMagic

Raises:

ConfigurationError – Host architecture or operating system not supported.