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(name, description)[source]

Bases: taucmdr.cf.objects.KeyedRecord

Information about a processor architecture.

name

str

Short string identifying this architecture.

description

str

Description of the architecture.

classmethod detect()[source]

Detect the processor architecture 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 architecture description.
Return type:Architecture
Raises:ConfigurationError – Host architecture not supported.
is_arm()[source]
is_bluegene()[source]
is_ibm()[source]
is_mic()[source]
class taucmdr.cf.platforms.OperatingSystem(name, description)[source]

Bases: taucmdr.cf.objects.KeyedRecord

Information about an operating system.

name

str

Short string identifying this operating system.

description

str

Description of the operating system.

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]
class taucmdr.cf.platforms.TauMagic(arch_os, name, preferred_families)[source]

Bases: taucmdr.cf.objects.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. The magic word ‘ibm64linux’ corresponds to several different architectures and operating systems and TAU’s magic ‘x86_64’ could be a tradional CPU or a KNL. TAU Commander needs to know the “real” CPU architecture and operating system so it can chose the right compilers and dependencies for TAU.

name

str

Name of the TAU architecture (the magic word)

architecture

Architecture

Architecture object for this TAU architecture.

operating_system

OperatingSystem

OperatingSystem object for this TAU architecture.

preferred_families

dict

Preferred compiler families indexed by Knowledgebase.

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.