-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How do you change memory block size? #7
Comments
What GPU and OS do you have? Please show how memtest_vulkan detects your GPU (several first line of output) Note that |
Also, the behavior of the maximum available memory may be driver dependent. For example, for the AMD rx580 8GB GPU on Linux it is possible to install two vulkan loadable drivers simultaneously on one system - one RADV from Mesa project, and the other AMDVLK driver. Then the driver can be explicitly selected by specifying VK_DRIVER_FILES environment variable with Khronos vulkan loader libvulkan.so version below v1.3.207 (use VK_ICD_FILENAMES instead of VK_DRIVER_FILES. And the
So with mesa RADV driver only 3.5GB is allocated and for AMDVLK driver 7.0GB is allocated. It seems that RADV has a 32-bit address space limit. This example shows that the behavior is very driver-dependent. |
@galkinvv
|
EDITED - just found that Mesa 23.1.0~rc1 removes this limitation, see #7 (comment) However as far as I mentioned I suppose that it is a limitation of intel vulkan driver - it can't allocate contigous block greater than 2GB (example from integrated GPU):
The limitation seems to be a limitation for contigous memory region, since two instances of memtest_vulkan testing 1.8GB each can be started just fine. Unfortunately the use of a single contigous buffer is a part of current design of memtest_vulkan, so it can't be easily changed. A more detailed out-of-memory error output can be got if the binary is named as
|
This is advertised in
|
UPDATEMesa 23.1.0~rc1 removes this limitation! https://cgit.freedesktop.org/mesa/mesa/commit/?h=mesa-23.1.0-rc1&id=71fe9dfe07b53115a9e8f8b031a04f6f387937d6 I Installed it from this PPA https://launchpad.net/~ernstp/+archive/ubuntu/mesarc and after updating memtest_vulkan become able to allocate 10.5GB for integrated GPU. Example run (in verbose mode)% ./memtest_vulkan_verbose https://github.com/GpuZelenograd/memtest_vulkan v0.5.0 by GpuZelenograd To finish testing use Ctrl+C Verbose feature enabled (or 'verbose' found in name). Vulkan instance 1.3.239 WARNING: vkEnumerateInstanceLayerProperties: Unable to resolve symbol "" in implicit layer library "libVkLayer_MESA_device_select.so" WARNING: vkEnumerateInstanceLayerProperties: Unable to resolve symbol "" in implicit layer library "libVkLayer_MESA_device_select.so" Available: VK_LAYER_MESA_device_select, VK_LAYER_KHRONOS_validation, VK_LAYER_MESA_overlay, VK_LAYER_INTEL_nullhw Extensions: VK_KHR_device_group_creation, VK_KHR_display, VK_KHR_external_fence_capabilities, VK_KHR_external_memory_capabilities, VK_KHR_external_semaphore_capabilities, VK_KHR_get_display_properties2, VK_KHR_get_physical_device_properties2, VK_KHR_get_surface_capabilities2, VK_KHR_surface, VK_KHR_surface_protected_capabilities, VK_KHR_wayland_surface, VK_KHR_xcb_surface, VK_KHR_xlib_surface, VK_EXT_acquire_drm_display, VK_EXT_acquire_xlib_display, VK_EXT_debug_report, VK_EXT_debug_utils, VK_EXT_direct_mode_display, VK_EXT_display_surface_counter, VK_EXT_swapchain_colorspace, VK_EXT_surface_maintenance1, VK_KHR_portability_enumeration |
Upgrading from Mesa 23.0 to Mesa 23.1 using the PPA broke vulkan on my system. I will wait for mesa 23.1 the official ubuntu repos
|
@galkinvv
|
In short: Thanks! Please install Detailed: Thanks for the update. It seems that the problem is caused by the fact that memtest_vulkan is ignoring A latptop with integrated Intel graphics has a maxStorageBufferRange=4GB, which corresponds to the internally hardcoded value, so it is working fine, but if the descrete intel GPU has this limit smaller - it may cause such behaviour. Example output for integrated Intel GPU: % vulkaninfo | grep -B 20 -i StorageBufferRange GPU0: VkPhysicalDeviceProperties: --------------------------- apiVersion = 1.3.251 (4206843) driverVersion = 23.1.99 (96473187) vendorID = 0x8086 deviceID = 0x9a49 deviceType = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU deviceName = Intel(R) Xe Graphics (TGL GT2) pipelineCacheUUID = 303aa8b0-afa9-b0a7-3336-7a249170c686 VkPhysicalDeviceLimits: ----------------------- maxImageDimension1D = 16384 maxImageDimension2D = 16384 maxImageDimension3D = 2048 maxImageDimensionCube = 16384 maxImageArrayLayers = 2048 maxTexelBufferElements = 134217728 maxUniformBufferRange = 1073741824 maxStorageBufferRange = 4294967295 -- GPU1: VkPhysicalDeviceProperties: --------------------------- apiVersion = 1.3.251 (4206843) driverVersion = 0.0.1 (1) vendorID = 0x10005 deviceID = 0x0000 deviceType = PHYSICAL_DEVICE_TYPE_CPU deviceName = llvmpipe (LLVM 15.0.7, 256 bits) pipelineCacheUUID = 76616c2d-742d-3038-3566-366563203200 VkPhysicalDeviceLimits: ----------------------- maxImageDimension1D = 16384 maxImageDimension2D = 16384 maxImageDimension3D = 4096 maxImageDimensionCube = 32768 maxImageArrayLayers = 2048 maxTexelBufferElements = 134217728 maxUniformBufferRange = 65536 maxStorageBufferRange = 134217728 |
@galkinvv
|
I want to change it from 1.8GB to 4GB to 8GB to 16GB ...etc to see if it corrupts memory
The text was updated successfully, but these errors were encountered: