<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/55696>55696</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
AMDGPU/TeraScale: `Failed to allocate a buffer` and segfault with `cl-mem`
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
illwieckz
</td>
</tr>
</table>
<pre>
I'm currently running LLVM from commit 69f7f15683c451378dbe9029a0bd2dbd029bcf3a (very recent but old enough to avoid opaque pointer mismatch with mesa and other stuff) and Mesa from commit `b2b810ebff657b3d24d93a1fdbd6adc79bc38153`.
When running the `cl-mem` OpenCL benchmark on R600/TeraScale devices, I get some errors and some segmentation faults.
The source code of the OpenCL benchmark, it is very small:
- https://github.com/nerdralph/cl-mem
I reproduced it on:
- AMD Radeon HD 6970 RV970 Cayman XT (TeraScale 3)
- AMD Radeon HD 5870 RV870 Cypress XT (TeraScale 2)
The tool behaves this way:
```
$ cl-mem --list
Devices on platform "Clover":
ID 0: AMD CAYMAN (DRM 2.50.0 / 5.13.0-44-generic, LLVM 15.0.0)
ID 1: AMD CYPRESS (DRM 2.50.0 / 5.13.0-44-generic, LLVM 15.0.0)
$ cl-mem --use 0
Running write test.
radeon: Failed to allocate a buffer:
radeon: size : 1073741824 bytes
radeon: alignment : 4096 bytes
radeon: domains : 4
radeon: flags : 4
radeon: Failed to allocate a buffer:
radeon: size : 1073741824 bytes
radeon: alignment : 4096 bytes
radeon: domains : 4
radeon: flags : 4
Segmentation fault
$ cl-mem --use 1
Running write test.
radeon: Failed to allocate a buffer:
radeon: size : 1073741824 bytes
radeon: alignment : 4096 bytes
radeon: domains : 4
radeon: flags : 4
radeon: Failed to allocate a buffer:
radeon: size : 1073741824 bytes
radeon: alignment : 4096 bytes
radeon: domains : 4
radeon: flags : 4
Segmentation fault
```
For reference, this is what I get on GCN (it seems to work on GCN):
```
$ cl-mem --list
Devices on platform "Clover":
ID 0: AMD Radeon R9 390 Series (hawaii, LLVM 15.0.0, DRM 3.41, 5.13.0-45-generic)
ID 1: AMD Radeon HD 8500 series (oland, LLVM 15.0.0, DRM 3.41, 5.13.0-45-generic)
$ cl-mem
Running write test.
128 GB in 523.4 ms (244.6 GB/s)
Running read test.
128 GB in 394.5 ms (324.5 GB/s)
Running copy test.
128 GB in 647.4 ms (197.7 GB/s)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztVttu4zYQ_Rr7ZWCBou4PfkjtOg2waRdOuu0-UtTIYpcSXVKK4f36HcqOncZOCrRAgRY1BJrXMzNnyEOWptrP7yY8a0EO1mLX6z3YoetUt4EPHz7dQ20NjZm2VT2kRZ3VYZLmkYyTMMryqsSC8UKwsuJVWVG1lHUkYMLzJ7SEhJIgoRx6MLoC7MywaaA3IJ6MqsBsxe8DwtaorkcLrXKt6GUDO9U30KITIDqa1Tc06Pqhrie8GLvu_dhLzyYpK3mZhwzLuk6TrIwqHldFJMKa_EpFJTNyLcrDJKKpwYQtJ-zmUP7SYHcKmUx5LKlnLbZUgZ-22C0-QImdbFphv4DpYJ0yNuGrR7TiQQqNUOGTkugmfAF3sMEewJkWAa011o0Oj22Hm5boEL0ikFoMund_8OSRjDszWIkUVoVg6tGf1y54MxSycjByTJxpPYluXiLNoOn7rfO9fEXfhggdyoDIokaHtrJCbxuqHwN9sfSOkra1phokVt6M6S6wb-6XsBYVUhQ_LGlTZAzWn3y5EPtWdPDro98AZ3oiStv1tUk-rvXlYr-16NzFYn5afCapN0YTH414QkcUERM7sX_lJiXv-B2aPIZDsDCbaeX6Q_fykDmf1a0WfW1sS-b5QhvilionUIC7JTBqjhEsbj7f3_zoHV2u74EHCQsYtVaQBGEUsFkczzZIPCvpkzWeozAJaNIpmBEvPOF9_rj-_uHh7wBeCXNwCMfw18f9vbOqJ_7Q9cedZ8dceD9WQmlKuT-cWhspaJ6gk1vXRMQzC-fZ9HPqK8L48x0hy6IsDnNyoNyTgSsLhFabzp-AcUHMivTNqZVphercETu-MqPWYuNO1i9m_BeiebjQi3dTHf6f6n9tNG-m-pWKjeXKWBJpCo9uBPR6MEqgV8FG9McbiGBuF6NCkYY7xNZ5gnbmcIPRkBeOf1Axj5q_LiAqGDyQkhEGedeInVDqQtQW4HUwCuLQ159FMDmL4FUZPV8secIYhf1sxWi6hP-ykQs-_uSghTyH2-9AdZBwQod29IHHcZBSP6m6O0E_Y1gU1XWIqIiD5AgRcV9_A0Ka7f46RBpnJy_CIguy1xCnzE-reUSvpkJMe9VrnBOptx9_fvnW8VTTxPfOHL2axicPbsaNfHjNvXxUTQer5-88ULR-ev6b0VPkN5Q9NZVzg39jrZIkLdJpM68xrZjMwqgOw6ySZZwVIuQCq7iQMi_qqRYlajefJBQt73AHI4Tfo8lyquaccc4SnoQ8iVkcSMnyqsACkUnJ83wSM6SzrAPvR2DsZmrno0vlsHE06I-EOw8K50gkEEdzhC-GvjF2rrTeKZRfvk5H4_PR-W_jLFM3">