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

Short string identifying this architecture.

Type:str
description

Description of the architecture.

Type:str
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

Short string identifying this operating system.

Type:str
description

Description of the operating system.

Type:str
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

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
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.