| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- // Copyright 2019 Yunion
- //
- // 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.
- package compute
- const (
- DIRECT_PCI_TYPE = "PCI"
- GPU_HPC_TYPE = "GPU-HPC" // # for compute
- GPU_VGA_TYPE = "GPU-VGA" // # for display
- SRIOV_VGPU_TYPE = "SRIOV-VGPU"
- LEGACY_VGPU_TYPE = "LEGACY-VGPU"
- USB_TYPE = "USB"
- NIC_TYPE = "NIC" // nic sriov
- NVME_PT_TYPE = "NVME-PT" // nvme passthrough
- NVIDIA_VENDOR_ID = "10de"
- AMD_VENDOR_ID = "1002"
- )
- var VALID_GPU_TYPES = []string{GPU_HPC_TYPE, GPU_VGA_TYPE}
- var VALID_ATTACH_TYPES = []string{GPU_HPC_TYPE, GPU_VGA_TYPE, USB_TYPE, SRIOV_VGPU_TYPE, LEGACY_VGPU_TYPE}
- var VALID_CONTAINER_DEVICE_TYPES = []string{
- CONTAINER_DEV_CPH_AMD_GPU, CONTAINER_DEV_CPH_AOSP_BINDER, CONTAINER_DEV_NETINT_CA_QUADRA,
- CONTAINER_DEV_NETINT_CA_ASIC, CONTAINER_DEV_NVIDIA_GPU, CONTAINER_DEV_NVIDIA_MPS, CONTAINER_DEV_NVIDIA_GPU_SHARE,
- CONTAINER_DEV_ASCEND_NPU, CONTAINER_DEV_VASTAITECH_GPU,
- }
- var VALID_PASSTHROUGH_TYPES = []string{
- DIRECT_PCI_TYPE, USB_TYPE, NIC_TYPE, GPU_HPC_TYPE,
- GPU_VGA_TYPE, NVME_PT_TYPE, SRIOV_VGPU_TYPE, LEGACY_VGPU_TYPE,
- }
- var VITRUAL_DEVICE_TYPES = []string{
- LEGACY_VGPU_TYPE,
- CONTAINER_DEV_CPH_AMD_GPU,
- CONTAINER_DEV_CPH_AOSP_BINDER,
- CONTAINER_DEV_NETINT_CA_QUADRA,
- CONTAINER_DEV_NETINT_CA_ASIC,
- CONTAINER_DEV_NVIDIA_MPS,
- CONTAINER_DEV_ASCEND_NPU,
- CONTAINER_DEV_NVIDIA_GPU_SHARE,
- CONTAINER_DEV_VASTAITECH_GPU,
- }
- var ID_VENDOR_MAP = map[string]string{
- NVIDIA_VENDOR_ID: "NVIDIA",
- AMD_VENDOR_ID: "AMD",
- }
- var VENDOR_ID_MAP = map[string]string{
- "NVIDIA": NVIDIA_VENDOR_ID,
- "AMD": AMD_VENDOR_ID,
- }
- const (
- ISOLATED_DEVICE_MODEL_METADATA_BANDWIDTH = "bandwidth"
- ISOLATED_DEVICE_MODEL_METADATA_MEMORY_MB = "memory_mb"
- ISOLATED_DEVICE_MODEL_METADATA_TFLOPS = "tflops"
- )
- func init() {
- VALID_PASSTHROUGH_TYPES = append(VALID_PASSTHROUGH_TYPES, VALID_CONTAINER_DEVICE_TYPES...)
- VALID_ATTACH_TYPES = append(VALID_ATTACH_TYPES, VALID_CONTAINER_DEVICE_TYPES...)
- }
|