Vulkan compute tool for testing video memory stability
See the codeOpensource cross-platform tool written in vulkan compute to stress test video memory for stability during overclocking or repair.
Just start application, wait at least 6 minutes and stop testing by Ctrl+C. Detected errors are displayed immediately during test run.
Requires system-provided vulkan loader and driver supporting Vulkan 1.1 (already installed with graphics drivers on most OS).
GitHub users also may want to try CI build artifacts (only last 3 months kept).
Start test by double-clicking the utility, no installation / parameters / configuration / admin-rights required.

Any found errors are immediately reported with a multi-line details. Detailed descriptions given below may help in advanced cases, but most of the time it's enough just check if errors are absent or present

C:\gpu-tools\memory>memtest_vulkan.exe https://github.com/GpuZelenograd/memtest_vulkan v0.3.0 by GpuZelenograd To finish testing use Ctrl+C1: Bus=0x00:00 DevId=0x9A49 8GB Intel(R) Iris(R) Xe Graphics Testing 1: Bus=0x00:00 DevId=0x9A49 8GB Intel(R) Iris(R) Xe Graphics 1 iteration. Since last report passed 271.3561ms written 1.8GB, read: 3.5GB 19.3GB/sec 5 iteration. Since last report passed 1.0910091s written 7.0GB, read: 14.0GB 19.2GB/sec 42 iteration. Since last report passed 10.2049349s written 64.8GB, read: 129.5GB 19.0GB/sec 409 iteration. Since last report passed 100.2136744s written 642.2GB, read: 1284.5GB 19.2GB/sec 791 iteration. Since last report passed 100.0165577s written 668.5GB, read: 1337.0GB 20.1GB/sec 1173 iteration. Since last report passed 100.1249672s written 668.5GB, read: 1337.0GB 20.0GB/sec 1551 iteration. Since last report passed 100.0042873s written 661.5GB, read: 1323.0GB 19.8GB/sec (Ctrl-C pressed) memtest_vulkan: no any errors, testing PASSed. press any key to continue...
Install by unpacking archives with linux prebuilt binaries for X86_64 (Desktop) or AARCH64 (Embedded) from
Releases or artifacts (github account required). Build artifacts are transparently produced from source by github actions, but only last 3 months kept.
Use by opening a terminal in a folder with extracted file and explicitly running ./memtest_vulkan. Do NOT just double-click binary in GUI (it would lead to starting test in the background without ability to stop it - issue)
Linux platform often contains additional llvmpipe pure-CPU vulkan driver. So after the start device selection menu will be shown. You can wait 10 seconds for automatic device selection or manually type the device number to test

[user@host ~]$ VK_DRIVER_FILES=/usr/share/vulkan/icd.d/nvidia_icd.json ./memtest_vulkan https://github.com/GpuZelenograd/memtest_vulkan v0.3.0 by GpuZelenograd To finish testing use Ctrl+C1: Bus=0x01:00 DevId=0x2204 24GB NVIDIA GeForce RTX 3090 Testing 1: Bus=0x01:00 DevId=0x2204 24GB NVIDIA GeForce RTX 3090 1 iteration. Since last report passed 56.112854ms written 19.5GB, read: 22.8GB 752.9GB/sec 19 iteration. Since last report passed 1.011701765s written 351.0GB, read: 409.5GB 751.7GB/sec 199 iteration. Since last report passed 10.050222094s written 3510.0GB, read: 4095.0GB 756.7GB/sec 1954 iteration. Since last report passed 100.004113065s written 34222.5GB, read: 39926.2GB 741.5GB/sec ^C memtest_vulkan: no any errors, testing PASSed. press any key to continue...
Example run with a single-wire/singe-bit error
[user@host ~]$ ./memtest_vulkan
https://github.com/GpuZelenograd/memtest_vulkan v0.3.0 by GpuZelenograd
To finish testing use Ctrl+C
1: Bus=0x01:00 DevId=0x1B87 8GB NVIDIA P104-100
Testing 1: Bus=0x01:00 DevId=0x1B87 8GB NVIDIA P104-100
1 iteration. Since last report passed 52.20479ms written 3.8GB, read: 7.5GB 215.5GB/sec
21 iteration. Since last report passed 1.0515038s written 75.0GB, read: 150.0GB 214.0GB/sec
216 iteration. Since last report passed 10.021230569s written 731.2GB, read: 1462.5GB 218.9GB/sec
2125 iteration. Since last report passed 100.010942973s written 7158.8GB, read: 14317.5GB 214.7GB/sec
Error found. Mode NEXT_RE_READ, total errors 0x3C7EC3 out of 0x3C000000 (0.39384872%)
Errors address range: 0x9D66148C..=0xDCD3036B deatils:
0x0 0x1 0x2 0x3| 0x4 0x5 0x6 0x7| 0x8 0x9 0xA 0xB| 0xC 0xD 0xE 0xF
Err1BIdx | 1m | |
0x1? | 1m | |
ErrBiCnt 3m 820k | | |
MemBiCnt 1 2| 32 249 13645067| 15k 39k 81k142k|219k308k 398k468k
0x1? 506k502k 448k353k|239k134k 63k 25k|79792113 310 43| 5 1
actual_ff: 0 actual_max: 0xFFFFFFB7 actual_min: 0x00000730 done_iter_or_err:4294967295 iter:1 calc_param 0x00100107
Error found. Mode INITIAL_READ, total errors 0x7E0C6E out of 0x3C000000 (0.82062860%)
Errors address range: 0x11640B6C4..=0x1DFFFEFFF deatils:
0x0 0x1 0x2 0x3| 0x4 0x5 0x6 0x7| 0x8 0x9 0xA 0xB| 0xC 0xD 0xE 0xF
Err1BIdx | 3m | |
0x1? | 3m | |
ErrBiCnt 6m 1m | | 51 3 598| 302573 824924
0x1? 1084402 772471| 22 878 7 152| 1 4 1 |
MemBiCnt 7| 43 285 15296317| 19k 50k 107k200k|326k483k 653k817k
0x1? 949k 1m 999k886k|704k493k 297k149k| 62k 20k 57931263| 185 21 1
actual_ff: 0 actual_max: 0xFFFFFF46 actual_min: 0x000000B0 done_iter_or_err:4294967295 iter:2160 calc_param 0x8708AB91
Runtime error: ERROR_DEVICE_LOST while getting () in context wait_for_fences
...hangs in-kernel due to driver
Example run on NVIDIA Jetson
jetson-nx-alpha :: ~ » ./memtest_vulkan
https://github.com/GpuZelenograd/memtest_vulkan v0.3.0 by GpuZelenograd
To finish testing use Ctrl+C
1: Bus=0x00:00 DevId=0xA5BA03D7 8GB NVIDIA Tegra Xavier (nvgpu)
Testing 1: Bus=0x00:00 DevId=0xA5BA03D7 8GB NVIDIA Tegra Xavier (nvgpu)
1 iteration. Since last report passed 163.678336ms written 2.4GB, read: 4.8GB 43.5GB/sec
7 iteration. Since last report passed 1.045756448s written 14.2GB, read: 28.5GB 40.9GB/sec
61 iteration. Since last report passed 10.06722992s written 128.2GB, read: 256.5GB 38.2GB/sec
593 iteration. Since last report passed 100.063183744s written 1263.5GB, read: 2527.0GB 37.9GB/sec
1121 iteration. Since last report passed 100.043447136s written 1254.0GB, read: 2508.0GB 37.6GB/sec
^C
memtest_vulkan: no any errors, testing PASSed.
press any key to continue...
Raspberry 4 with 64-bit Broadcom V3D vulkan driver is also supported, but the achieved performance is quite low. No GUI required, test can be started via SSH connection:
root@raspberrypi:/root# ./memtest_vulkan
https://github.com/GpuZelenograd/memtest_vulkan v0.4.2 by GpuZelenograd
To finish testing use Ctrl+C
1: Bus=0x00:00 DevId=0xBE485FD3 1GB V3D 4.2
2: Bus=0x00:00 DevId=0x0000 2GB llvmpipe (LLVM 14.0.6, 128 bits)
(first device will be autoselected in 0 seconds) Override index to test:
...first device autoselected
Standard 5-minute test of 1: Bus=0x00:00 DevId=0xBE485FD3 1GB V3D 4.2
1 iteration. Passed 1.8044 seconds written: 0.2GB 0.6GB/sec checked: 0.5GB 0.4GB/sec
2 iteration. Passed 1.8037 seconds written: 0.2GB 0.6GB/sec checked: 0.5GB 0.4GB/sec
5 iteration. Passed 5.4135 seconds written: 0.8GB 0.6GB/sec checked: 1.5GB 0.4GB/sec
22 iteration. Passed 30.6776 seconds written: 4.2GB 0.6GB/sec checked: 8.5GB 0.4GB/sec
39 iteration. Passed 30.6716 seconds written: 4.2GB 0.6GB/sec checked: 8.5GB 0.4GB/sec
56 iteration. Passed 30.6738 seconds written: 4.2GB 0.6GB/sec checked: 8.5GB 0.4GB/sec
73 iteration. Passed 30.6744 seconds written: 4.2GB 0.6GB/sec checked: 8.5GB 0.4GB/sec
90 iteration. Passed 30.6714 seconds written: 4.2GB 0.6GB/sec checked: 8.5GB 0.4GB/sec
107 iteration. Passed 30.6736 seconds written: 4.2GB 0.6GB/sec checked: 8.5GB 0.4GB/sec
124 iteration. Passed 30.6688 seconds written: 4.2GB 0.6GB/sec checked: 8.5GB 0.4GB/sec
141 iteration. Passed 30.6810 seconds written: 4.2GB 0.6GB/sec checked: 8.5GB 0.4GB/sec
158 iteration. Passed 30.6751 seconds written: 4.2GB 0.6GB/sec checked: 8.5GB 0.4GB/sec
Standard 5-minute test PASSed! Just press Ctrl+C unless you plan long test run.
Extended endless test started; testing more than 2 hours is usually unneeded
use Ctrl+C to stop it when you decide it's enough
192 iteration. Passed 30.6733 seconds written: 4.2GB 0.6GB/sec checked: 8.5GB 0.4GB/sec
^C
memtest_vulkan: no any errors, testing PASSed.
press any key to continue...
The only simple thing in result interpreting - is "If some errors are reported by memtest_vulkan - the PC has hardware problems". Most often GPU-related, but its hard to be sure if the problem is VRAM IC - related or GPU chip related.
You can create topic in discussions, sometimes the error log can be interpreted. Bust most of the time it is quite complex task, expand the theory section below
Error found. Mode INITIAL_READ, total errors 0x2B788 out of 0x18000000 (0.04422069%)
Errors address range: 0x6000E900..=0xBFDFF9FF iteration:38
values range: 0xFFFFA1A4..=0x0000166F FFFFFFFF-like count:0 bit-level stats table:
0x0 0x1 0x2 0x3| 0x4 0x5 0x6 0x7| 0x8 0x9 0xA 0xB| 0xC 0xD 0xE 0xF
SinglIdx | | |
TogglCnt 2| 7 18 95 264| 8451786 40056770| 11k 15k 20k 23k
0x1? 23k 21k 17k 12k|81944859 24701266| 486 248 62 29| 4 2
1sInValu 3| 19 66 223 700|17683704 6856 11k| 16k 21k 25k 26k
0x1? 23k 17k 12k6327|2883 917 282 64| 9 |
Here is the list of common errors that prevent test from starting
memtest_vulkan: early exit during init: The library failed to loadsudo apt install libvulkan1.
Note that this library itself doesn't depend on any GPU, it is loadable even without any vulkan-capable devices at all. So the error above is a pure software-related error, not related to hardware at all. For windows7 x64 you may need downloading vulkan-1.dll manually.memtest_vulkan: early exit during init: ERROR_INCOMPATIBLE_DRIVERmemtest_vulkan: early exit during init: ERROR_INITIALIZATION_FAILEDRuntime error: This device lacks support for DEVICE_LOCAL+HOST_COHERENT memory type.Microsoft Direct3D12 (model name) — the translator similar to Mesa Dozen “Vulkan-over-Direct3D12” is used, maybe installed as “OpenCL, OpenGL and Vulkan Compatibility Pack”. If several devices are listed on the memtest_vulkan startup, try selecting another driver variant.Runtime error: Failed determining memory budget on the integrated GPU 1GB AMD Radeon(TM) Vega 3 Graphics and then fail. The vulkan implementation for integrated GPUs allows using a bit less memory than reserved, and memtest_vulkan requires at least 1GB available memory to operate. Reconfigure integrated GPU to reserve at least 1.5GB of memory, see issue #22INIT OR FIRST testing failed due to runtime error VK_DRIVER_FILES=/usr/share/vulkan/icd.d/nvidia_icd.json ./memtest_vulkanlibvulkan.so version below v1.3.207 use VK_ICD_FILENAMES instead of VK_DRIVER_FILESThere are some reports that testing AMD GPUs sometimes gives unexpectedly low GPU load & video memory usage. The issue is still under investigation, but it is known that disabling/enabling "resizable BAR" in BIOS may help.
Also, some drivers don't allow contiguous allocation of memory regions more than 4GB even on a GPU with a lot of memory. Such GPUs are tested with a 3.5GB memory allocation. This is not perfect, but such testing allows still allows detecting most of the errors, so don't bother if this is your case.
If nothing helps - enable verbose mode by renaming the executable to memtest_vulkan_verbose and running again. The test will output diagnostic information to stdout - please copy it to a new issue at https://github.com/GpuZelenograd/memtest_vulkan/issues.
Note that portability is limited to 64-bit targets. Building versions for 32-bit targets was never tried, and all notices below assume 64-bit targets.
If you want to experiment with code modifications, there are two ways to do this:
cargo to build binaries from modified rust source code
x86_64-w64-mingw32-gcc linker is used, for ubuntu the gcc-mingw-w64-x86-64-win32 package provides it.aarch64-linux-gnu-gcc linker is used, for ubuntu the gcc-aarch64-linux-gnu package provides it../run-build.sh.Since most of the time the GPUs are working fine, it may be hard to check the error handling behavior. The MEMTEST_VULKAN_EMULATE_WRITE_BUG_ITERATION environment variable was introduced to simplify this task. Set it to non-zero number generates 'fake' error during writing to the memory on the specified iteration that later would be found and reported during check stage.
The idea inspired by OpenCL-based cross-platform memory testing tool memtestCL.
The implementation would not be possible without great vulkan bindings for rust provided by zlib-licensed erupt library. So, for licensing simplicity, memtest_vulkan is also licensed under the zlib License.
The memtest_vulkan itself was developed by GpuZelenograd repair center
615 followers · starred Aug 2026
489 followers · starred Aug 2023
2,276 followers · starred Aug 2026
832 followers · starred Feb 2026
Vulkan compute tool for testing video memory stability
See the codeOpensource cross-platform tool written in vulkan compute to stress test video memory for stability during overclocking or repair.
Just start application, wait at least 6 minutes and stop testing by Ctrl+C. Detected errors are displayed immediately during test run.
Requires system-provided vulkan loader and driver supporting Vulkan 1.1 (already installed with graphics drivers on most OS).
GitHub users also may want to try CI build artifacts (only last 3 months kept).
Start test by double-clicking the utility, no installation / parameters / configuration / admin-rights required.

Any found errors are immediately reported with a multi-line details. Detailed descriptions given below may help in advanced cases, but most of the time it's enough just check if errors are absent or present

C:\gpu-tools\memory>memtest_vulkan.exe https://github.com/GpuZelenograd/memtest_vulkan v0.3.0 by GpuZelenograd To finish testing use Ctrl+C1: Bus=0x00:00 DevId=0x9A49 8GB Intel(R) Iris(R) Xe Graphics Testing 1: Bus=0x00:00 DevId=0x9A49 8GB Intel(R) Iris(R) Xe Graphics 1 iteration. Since last report passed 271.3561ms written 1.8GB, read: 3.5GB 19.3GB/sec 5 iteration. Since last report passed 1.0910091s written 7.0GB, read: 14.0GB 19.2GB/sec 42 iteration. Since last report passed 10.2049349s written 64.8GB, read: 129.5GB 19.0GB/sec 409 iteration. Since last report passed 100.2136744s written 642.2GB, read: 1284.5GB 19.2GB/sec 791 iteration. Since last report passed 100.0165577s written 668.5GB, read: 1337.0GB 20.1GB/sec 1173 iteration. Since last report passed 100.1249672s written 668.5GB, read: 1337.0GB 20.0GB/sec 1551 iteration. Since last report passed 100.0042873s written 661.5GB, read: 1323.0GB 19.8GB/sec (Ctrl-C pressed) memtest_vulkan: no any errors, testing PASSed. press any key to continue...
Install by unpacking archives with linux prebuilt binaries for X86_64 (Desktop) or AARCH64 (Embedded) from
Releases or artifacts (github account required). Build artifacts are transparently produced from source by github actions, but only last 3 months kept.
Use by opening a terminal in a folder with extracted file and explicitly running ./memtest_vulkan. Do NOT just double-click binary in GUI (it would lead to starting test in the background without ability to stop it - issue)
Linux platform often contains additional llvmpipe pure-CPU vulkan driver. So after the start device selection menu will be shown. You can wait 10 seconds for automatic device selection or manually type the device number to test

[user@host ~]$ VK_DRIVER_FILES=/usr/share/vulkan/icd.d/nvidia_icd.json ./memtest_vulkan https://github.com/GpuZelenograd/memtest_vulkan v0.3.0 by GpuZelenograd To finish testing use Ctrl+C1: Bus=0x01:00 DevId=0x2204 24GB NVIDIA GeForce RTX 3090 Testing 1: Bus=0x01:00 DevId=0x2204 24GB NVIDIA GeForce RTX 3090 1 iteration. Since last report passed 56.112854ms written 19.5GB, read: 22.8GB 752.9GB/sec 19 iteration. Since last report passed 1.011701765s written 351.0GB, read: 409.5GB 751.7GB/sec 199 iteration. Since last report passed 10.050222094s written 3510.0GB, read: 4095.0GB 756.7GB/sec 1954 iteration. Since last report passed 100.004113065s written 34222.5GB, read: 39926.2GB 741.5GB/sec ^C memtest_vulkan: no any errors, testing PASSed. press any key to continue...
Example run with a single-wire/singe-bit error
[user@host ~]$ ./memtest_vulkan
https://github.com/GpuZelenograd/memtest_vulkan v0.3.0 by GpuZelenograd
To finish testing use Ctrl+C
1: Bus=0x01:00 DevId=0x1B87 8GB NVIDIA P104-100
Testing 1: Bus=0x01:00 DevId=0x1B87 8GB NVIDIA P104-100
1 iteration. Since last report passed 52.20479ms written 3.8GB, read: 7.5GB 215.5GB/sec
21 iteration. Since last report passed 1.0515038s written 75.0GB, read: 150.0GB 214.0GB/sec
216 iteration. Since last report passed 10.021230569s written 731.2GB, read: 1462.5GB 218.9GB/sec
2125 iteration. Since last report passed 100.010942973s written 7158.8GB, read: 14317.5GB 214.7GB/sec
Error found. Mode NEXT_RE_READ, total errors 0x3C7EC3 out of 0x3C000000 (0.39384872%)
Errors address range: 0x9D66148C..=0xDCD3036B deatils:
0x0 0x1 0x2 0x3| 0x4 0x5 0x6 0x7| 0x8 0x9 0xA 0xB| 0xC 0xD 0xE 0xF
Err1BIdx | 1m | |
0x1? | 1m | |
ErrBiCnt 3m 820k | | |
MemBiCnt 1 2| 32 249 13645067| 15k 39k 81k142k|219k308k 398k468k
0x1? 506k502k 448k353k|239k134k 63k 25k|79792113 310 43| 5 1
actual_ff: 0 actual_max: 0xFFFFFFB7 actual_min: 0x00000730 done_iter_or_err:4294967295 iter:1 calc_param 0x00100107
Error found. Mode INITIAL_READ, total errors 0x7E0C6E out of 0x3C000000 (0.82062860%)
Errors address range: 0x11640B6C4..=0x1DFFFEFFF deatils:
0x0 0x1 0x2 0x3| 0x4 0x5 0x6 0x7| 0x8 0x9 0xA 0xB| 0xC 0xD 0xE 0xF
Err1BIdx | 3m | |
0x1? | 3m | |
ErrBiCnt 6m 1m | | 51 3 598| 302573 824924
0x1? 1084402 772471| 22 878 7 152| 1 4 1 |
MemBiCnt 7| 43 285 15296317| 19k 50k 107k200k|326k483k 653k817k
0x1? 949k 1m 999k886k|704k493k 297k149k| 62k 20k 57931263| 185 21 1
actual_ff: 0 actual_max: 0xFFFFFF46 actual_min: 0x000000B0 done_iter_or_err:4294967295 iter:2160 calc_param 0x8708AB91
Runtime error: ERROR_DEVICE_LOST while getting () in context wait_for_fences
...hangs in-kernel due to driver
Example run on NVIDIA Jetson
jetson-nx-alpha :: ~ » ./memtest_vulkan
https://github.com/GpuZelenograd/memtest_vulkan v0.3.0 by GpuZelenograd
To finish testing use Ctrl+C
1: Bus=0x00:00 DevId=0xA5BA03D7 8GB NVIDIA Tegra Xavier (nvgpu)
Testing 1: Bus=0x00:00 DevId=0xA5BA03D7 8GB NVIDIA Tegra Xavier (nvgpu)
1 iteration. Since last report passed 163.678336ms written 2.4GB, read: 4.8GB 43.5GB/sec
7 iteration. Since last report passed 1.045756448s written 14.2GB, read: 28.5GB 40.9GB/sec
61 iteration. Since last report passed 10.06722992s written 128.2GB, read: 256.5GB 38.2GB/sec
593 iteration. Since last report passed 100.063183744s written 1263.5GB, read: 2527.0GB 37.9GB/sec
1121 iteration. Since last report passed 100.043447136s written 1254.0GB, read: 2508.0GB 37.6GB/sec
^C
memtest_vulkan: no any errors, testing PASSed.
press any key to continue...
Raspberry 4 with 64-bit Broadcom V3D vulkan driver is also supported, but the achieved performance is quite low. No GUI required, test can be started via SSH connection:
root@raspberrypi:/root# ./memtest_vulkan
https://github.com/GpuZelenograd/memtest_vulkan v0.4.2 by GpuZelenograd
To finish testing use Ctrl+C
1: Bus=0x00:00 DevId=0xBE485FD3 1GB V3D 4.2
2: Bus=0x00:00 DevId=0x0000 2GB llvmpipe (LLVM 14.0.6, 128 bits)
(first device will be autoselected in 0 seconds) Override index to test:
...first device autoselected
Standard 5-minute test of 1: Bus=0x00:00 DevId=0xBE485FD3 1GB V3D 4.2
1 iteration. Passed 1.8044 seconds written: 0.2GB 0.6GB/sec checked: 0.5GB 0.4GB/sec
2 iteration. Passed 1.8037 seconds written: 0.2GB 0.6GB/sec checked: 0.5GB 0.4GB/sec
5 iteration. Passed 5.4135 seconds written: 0.8GB 0.6GB/sec checked: 1.5GB 0.4GB/sec
22 iteration. Passed 30.6776 seconds written: 4.2GB 0.6GB/sec checked: 8.5GB 0.4GB/sec
39 iteration. Passed 30.6716 seconds written: 4.2GB 0.6GB/sec checked: 8.5GB 0.4GB/sec
56 iteration. Passed 30.6738 seconds written: 4.2GB 0.6GB/sec checked: 8.5GB 0.4GB/sec
73 iteration. Passed 30.6744 seconds written: 4.2GB 0.6GB/sec checked: 8.5GB 0.4GB/sec
90 iteration. Passed 30.6714 seconds written: 4.2GB 0.6GB/sec checked: 8.5GB 0.4GB/sec
107 iteration. Passed 30.6736 seconds written: 4.2GB 0.6GB/sec checked: 8.5GB 0.4GB/sec
124 iteration. Passed 30.6688 seconds written: 4.2GB 0.6GB/sec checked: 8.5GB 0.4GB/sec
141 iteration. Passed 30.6810 seconds written: 4.2GB 0.6GB/sec checked: 8.5GB 0.4GB/sec
158 iteration. Passed 30.6751 seconds written: 4.2GB 0.6GB/sec checked: 8.5GB 0.4GB/sec
Standard 5-minute test PASSed! Just press Ctrl+C unless you plan long test run.
Extended endless test started; testing more than 2 hours is usually unneeded
use Ctrl+C to stop it when you decide it's enough
192 iteration. Passed 30.6733 seconds written: 4.2GB 0.6GB/sec checked: 8.5GB 0.4GB/sec
^C
memtest_vulkan: no any errors, testing PASSed.
press any key to continue...
The only simple thing in result interpreting - is "If some errors are reported by memtest_vulkan - the PC has hardware problems". Most often GPU-related, but its hard to be sure if the problem is VRAM IC - related or GPU chip related.
You can create topic in discussions, sometimes the error log can be interpreted. Bust most of the time it is quite complex task, expand the theory section below
Error found. Mode INITIAL_READ, total errors 0x2B788 out of 0x18000000 (0.04422069%)
Errors address range: 0x6000E900..=0xBFDFF9FF iteration:38
values range: 0xFFFFA1A4..=0x0000166F FFFFFFFF-like count:0 bit-level stats table:
0x0 0x1 0x2 0x3| 0x4 0x5 0x6 0x7| 0x8 0x9 0xA 0xB| 0xC 0xD 0xE 0xF
SinglIdx | | |
TogglCnt 2| 7 18 95 264| 8451786 40056770| 11k 15k 20k 23k
0x1? 23k 21k 17k 12k|81944859 24701266| 486 248 62 29| 4 2
1sInValu 3| 19 66 223 700|17683704 6856 11k| 16k 21k 25k 26k
0x1? 23k 17k 12k6327|2883 917 282 64| 9 |
Here is the list of common errors that prevent test from starting
memtest_vulkan: early exit during init: The library failed to loadsudo apt install libvulkan1.
Note that this library itself doesn't depend on any GPU, it is loadable even without any vulkan-capable devices at all. So the error above is a pure software-related error, not related to hardware at all. For windows7 x64 you may need downloading vulkan-1.dll manually.memtest_vulkan: early exit during init: ERROR_INCOMPATIBLE_DRIVERmemtest_vulkan: early exit during init: ERROR_INITIALIZATION_FAILEDRuntime error: This device lacks support for DEVICE_LOCAL+HOST_COHERENT memory type.Microsoft Direct3D12 (model name) — the translator similar to Mesa Dozen “Vulkan-over-Direct3D12” is used, maybe installed as “OpenCL, OpenGL and Vulkan Compatibility Pack”. If several devices are listed on the memtest_vulkan startup, try selecting another driver variant.Runtime error: Failed determining memory budget on the integrated GPU 1GB AMD Radeon(TM) Vega 3 Graphics and then fail. The vulkan implementation for integrated GPUs allows using a bit less memory than reserved, and memtest_vulkan requires at least 1GB available memory to operate. Reconfigure integrated GPU to reserve at least 1.5GB of memory, see issue #22INIT OR FIRST testing failed due to runtime error VK_DRIVER_FILES=/usr/share/vulkan/icd.d/nvidia_icd.json ./memtest_vulkanlibvulkan.so version below v1.3.207 use VK_ICD_FILENAMES instead of VK_DRIVER_FILESThere are some reports that testing AMD GPUs sometimes gives unexpectedly low GPU load & video memory usage. The issue is still under investigation, but it is known that disabling/enabling "resizable BAR" in BIOS may help.
Also, some drivers don't allow contiguous allocation of memory regions more than 4GB even on a GPU with a lot of memory. Such GPUs are tested with a 3.5GB memory allocation. This is not perfect, but such testing allows still allows detecting most of the errors, so don't bother if this is your case.
If nothing helps - enable verbose mode by renaming the executable to memtest_vulkan_verbose and running again. The test will output diagnostic information to stdout - please copy it to a new issue at https://github.com/GpuZelenograd/memtest_vulkan/issues.
Note that portability is limited to 64-bit targets. Building versions for 32-bit targets was never tried, and all notices below assume 64-bit targets.
If you want to experiment with code modifications, there are two ways to do this:
cargo to build binaries from modified rust source code
x86_64-w64-mingw32-gcc linker is used, for ubuntu the gcc-mingw-w64-x86-64-win32 package provides it.aarch64-linux-gnu-gcc linker is used, for ubuntu the gcc-aarch64-linux-gnu package provides it../run-build.sh.Since most of the time the GPUs are working fine, it may be hard to check the error handling behavior. The MEMTEST_VULKAN_EMULATE_WRITE_BUG_ITERATION environment variable was introduced to simplify this task. Set it to non-zero number generates 'fake' error during writing to the memory on the specified iteration that later would be found and reported during check stage.
The idea inspired by OpenCL-based cross-platform memory testing tool memtestCL.
The implementation would not be possible without great vulkan bindings for rust provided by zlib-licensed erupt library. So, for licensing simplicity, memtest_vulkan is also licensed under the zlib License.
The memtest_vulkan itself was developed by GpuZelenograd repair center
615 followers · starred Aug 2026
489 followers · starred Aug 2023
2,276 followers · starred Aug 2026
832 followers · starred Feb 2026