Loading...
Please wait, while we are loading the content...
Similar Documents
HSF Platform Naming Conventions-A Proposal
| Content Provider | Semantic Scholar |
|---|---|
| Author | Hegner, B. |
| Copyright Year | 2018 |
| Abstract | The note describes a proposal for a common platform naming scheme for HEP and tools to automate the platform identification. c © Named authors on behalf of the HSF, licence CC-BY-4.0. 1 Rationale Multiple ways of denoting hardware platform vs. compiler vs. operating-system vs. build type combinations exist throughout the field of high energy physics. Quite often packages with different naming conventions have to be combined and a significant amount of time is spent to transform between these different conventions. Furthermore, this transformation is error prone and has to be updated from time to time when new hardware platforms or compiler implementations arrive. 2 Proposal In the view of the fact that naming conventions are just agreements we propose to adopt existing naming conventions wherever possible and useful. We consider the following pieces as part of the convention. A build configuration is denoted by the scheme architecture−OS − compiler − buildtype where architecture, OS, compiler, and buildtype are described in the following. Furthermore, we propose a common tool that helps identifying and building these strings. 2.1 Architecture Different OSes may call the same architecture by different names. We propose to rely on the abstraction of the Python package platform, namely platform.machine(). This translates to, e.g., x86 64 for current Intel and AMD CPUs. In cases where optimized builds for a certain processor generation are required and software is not runable on the generic architecture, the generic architecture should be replaced by architecture+instructionset1+instructionset2.... For example x86 64+avx2 denotes an x86 64 processor supporting the AVX2 instruction set. There exist no explicit conventions for the instruction set across operating systems, thus we propose to create ad-hoc conventions. In the Linux case the flags field of /proc/cpuinfo could be used. The instruction sets mentioned should be ordered alphabetically to ensure consistency. 2.2 Operating System The operating system (OS ) is a combination of the name of the operating system itself and its major version, e.g. ubuntu15 or slc6 in case a canonical abbreviation exists. 2.2.1 Linux The name and version are as given by Python’s platform.linux distribution(), using the short name of the distribution, transformed to all lower-case. This leads to names like ubuntu, centos, fedora. |
| File Format | PDF HTM / HTML |
| Alternate Webpage(s) | https://hepsoftwarefoundation.org/notes/HSF-TN-2018-01.pdf |
| Language | English |
| Access Restriction | Open |
| Content Type | Text |
| Resource Type | Article |