File: __init__.py

package info (click to toggle)
python-os-traits 3.5.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 400 kB
  • sloc: python: 752; makefile: 21; sh: 2
file content (94 lines) | stat: -rw-r--r-- 3,475 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# -*- coding: utf-8 -*-

# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.


TRAITS = [
    # ref: https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions
    'AVX',
    'AVX2',
    'CLMUL',
    'FMA3',
    'FMA4',
    'F16C',
    'MMX',
    'SSE',
    'SSE2',
    'SSE3',
    'SSSE3',
    'SSE41',
    'SSE42',
    'SSE4A',
    'XOP',
    '3DNOW',

    # ref: https://en.wikipedia.org/wiki/AVX-512
    'AVX512F',  # foundation
    'AVX512CD',  # conflict detection
    'AVX512PF',  # prefetch
    'AVX512ER',  # exponential + reciprocal
    'AVX512VL',  # vector length extensions
    'AVX512BW',  # byte + word
    'AVX512DQ',  # double word + quad word
    'AVX512VNNI',  # vector neural network instructions
    'AVX512VBMI',  # vector byte manipulation instructions
    'AVX512IFMA',  # integer fused multiply add
    'AVX512VBMI2',  # vector byte manipulation instructions 2
    'AVX512BITALG',  # bit algorithms
    'AVX512VAES',  # vector aes instructions
    'AVX512GFNI',  # galois field new instructions
    'AVX512VPCLMULQDQ',  # carry-less multiplication of quadwords
    'AVX512VPOPCNTDQ',  # vector population count instruction
    # ref: https://en.wikipedia.org/wiki/Bit_Manipulation_Instruction_Sets
    'ABM',
    'BMI',
    'BMI2',
    'TBM',
    # ref: https://en.wikipedia.org/wiki/AES_instruction_set
    'AESNI',
    # ref: https://en.wikipedia.org/wiki/Intel_SHA_extensions
    'SHA',
    # ref: https://en.wikipedia.org/wiki/Intel_MPX
    'MPX',
    # ref: https://en.wikipedia.org/wiki/Software_Guard_Extensions
    'SGX',
    # ref:
    #    https://en.wikipedia.org/wiki/Transactional_Synchronization_Extensions
    'TSX',
    # ref: https://en.wikipedia.org/wiki/Advanced_Synchronization_Facility
    'ASF',
    # ref: https://en.wikipedia.org/wiki/VT-x
    # NOTE(kchamart): The 'VMX' trait is Intel-only, and does not belong
    # in this file (which is supposed to be a "common" file for all
    # x86-related).  But we need to retain it here forever to not cause
    # Placement breakage.
    'VMX',
    # ref: https://en.wikipedia.org/wiki/AMD-V
    # NOTE(kchamart): The 'SVM' trait is AMD-only, and does not belong
    # in this "common" file.  But we need to retain it here forever to
    # not cause Placement breakage.
    'SVM',
    # ref: https://git.qemu.org/?p=qemu.git;a=blob;f=docs/qemu-cpu-models.texi
    # Recommended to allow guest OS to use 1 GB size memory pages.  Not
    # included by default in any of the Intel and AMD CPU models.  So
    # this should be explicitly turned on for all Intel and AMD CPU
    # models.
    'PDPE1GB',
    # ref: https://git.qemu.org/?p=qemu.git;a=blob;f=docs/qemu-cpu-models.texi
    # Required to enable stronger Spectre v2 (CVE-2017-5715) fixes in
    # some operating systems.  This flag must be explicitly turned on
    # for *all* Intel and AMD CPU models.  (Prerequisite: host CPU
    # microcode needs to support this feature before it can be used for
    # guest CPUs).
    'STIBP',
]