1.SIMD单指令多数据流
- SIMDExtensions := ['mmx', 'sse2', 'sse3', 'ssse3', 'sse41', 'sse42', 'avx', 'avx2', 'avx512f', 'avx512dq', 'avx512bw', 'avx512cd', 'avx512vl', 'avx512vbmi', 'avx512ifma', 'avx512vbmi2', 'avx512vpopcntdq', 'avx512bitalg', 'avx512vnni']
- SystemKeys := []
- SystemValues := []
- for I := 0 to |SIMDExtensions| - 1 by 1
- get_system (SIMDExtensions[I] + '_supported', Information)
- SystemKeys := [SystemKeys,' ' + SIMDExtensions[I] + ':']
- SystemValues := [SystemValues,Information]
- endfor
复制代码
2.GPU相关(OPENGL)
- query_available_compute_devices (DeviceIdentifiers)
- SystemKeys := ['*** Compute Devices ***']
- SystemValues := ['']
- for I := 0 to |DeviceIdentifiers| - 1 by 1
- get_compute_device_info (DeviceIdentifiers[I], 'name', DeviceName)
- get_compute_device_info (DeviceIdentifiers[I], 'vendor', DeviceVendor)
- get_compute_device_info (DeviceIdentifiers[I], 'platform_version', DevicePlatform)
- get_compute_device_info (DeviceIdentifiers[I], 'driver_version', DeviceDriver)
- SystemKeys := [SystemKeys,' [' + I + '] Device:']
- SystemValues := [SystemValues,DeviceVendor + ', ' + DeviceName]
- SystemKeys := [SystemKeys,' Platform:']
- SystemValues := [SystemValues,DevicePlatform]
- SystemKeys := [SystemKeys,' Driver:']
- SystemValues := [SystemValues,DeviceDriver]
- get_compute_device_info (DeviceIdentifiers[I], 'image_support', DeviceImage)
- SystemKeys := [SystemKeys,' Image Support:']
- if (DeviceImage == 'true')
- get_compute_device_info (DeviceIdentifiers[I], 'image2d_max_width', DeviceImageWidth)
- get_compute_device_info (DeviceIdentifiers[I], 'image2d_max_height', DeviceImageHeight)
- SystemValues := [SystemValues,DeviceImageWidth + ' x ' + DeviceImageHeight]
- else
- SystemValues := [SystemValues,DeviceImage]
- endif
- get_compute_device_info (DeviceIdentifiers[I], 'extensions', DeviceExtensions)
- SystemKeys := [SystemKeys,' Extensions:']
- SystemValues := [SystemValues,DeviceExtensions]
- endfor
- if (|DeviceIdentifiers| == 0)
- SystemKeys := [SystemKeys,' none']
- SystemValues := [SystemValues,'']
- endif
- SystemKeys := [SystemKeys,'*** CUDA capable devices ***']
- SystemValues := [SystemValues,'']
- try
- get_system ('cuda_version', CUDAVersion)
- catch (Exception)
- if (Exception[0] == 7708)
- CUDAVersion := 'No CUDA capable device'
- else
- throw (Exception)
- endif
- endtry
- SystemKeys := [SystemKeys,' CUDA Version:']
- SystemValues := [SystemValues,CUDAVersion]
- try
- get_system ('cudnn_version', cuDNNVersion)
- catch (Exception)
- if (Exception[0] == 7708)
- cuDNNVersion := 'No CUDA capable device'
- else
- throw (Exception)
- endif
- endtry
- SystemKeys := [SystemKeys,' cuDNN Version:']
- SystemValues := [SystemValues,cuDNNVersion]
- try
- get_system ('cublas_version', cuBLASVersion)
- catch (Exception)
- if (Exception[0] == 7708)
- cuBLASVersion := 'No CUDA capable device'
- else
- throw (Exception)
- endif
- endtry
- SystemKeys := [SystemKeys,' cuBLAS Version:']
- SystemValues := [SystemValues,cuBLASVersion]
- get_system ('cuda_devices', CUDADevices)
- if (CUDADevices == [])
- CUDADevices := 'No CUDA capable device'
- endif
- CUDADevices := sum(CUDADevices + ', ')
- CUDADevices := CUDADevices{0:strlen(CUDADevices) - 3}
- SystemKeys := [SystemKeys,' CUDA Devices:']
- SystemValues := [SystemValues,CUDADevices]
- get_system ('opengl_hidden_surface_removal_available', OpenGL_HSRA)
- get_system ('opengl_hidden_surface_removal_enable', OpenGL_HSRE)
- try
- get_system ('opengl_info', OpenGL_Info)
- catch (Exception)
- OpenGL_Info := 'No OpenGL information available'
- endtry
- tuple_regexp_replace (OpenGL_Info, '\\n$', '', OpenGL_Info)
- Substrings := split(OpenGL_Info,'\n')
- Substrings := split(Substrings,'=')
- EvenIdx := [0:2:|Substrings| - 1]
- OddIdx := [1:2:|Substrings| - 1]
- SystemKeys := [SystemKeys,'*** OpenGL Information ***']
- SystemValues := [SystemValues,'']
- SystemKeys := [SystemKeys,' Hidden Surface Removal:']
- if (OpenGL_HSRA == 'true')
- if (OpenGL_HSRE == 'true')
- SystemValues := [SystemValues,'available, enabled']
- else
- SystemValues := [SystemValues,'available, disabled']
- endif
- else
- SystemValues := [SystemValues,OpenGL_HSRA]
- endif
- if (|OddIdx| > 0)
- SystemKeys := [SystemKeys,' ' + Substrings[EvenIdx] + ':']
- SystemValues := [SystemValues,Substrings[OddIdx]]
- else
- SystemKeys := [SystemKeys,' ' + 'GL_VERSION:']
- SystemValues := [SystemValues,Substrings]
- endif
复制代码
|