[libc] Add check for locally installed GPUs
authorJoseph Huber <jhuber6@vols.utk.edu>
Tue, 20 Dec 2022 19:06:40 +0000 (13:06 -0600)
committerJoseph Huber <jhuber6@vols.utk.edu>
Tue, 20 Dec 2022 19:37:11 +0000 (13:37 -0600)
commitae20ff7526212598f4bbe193575560e435ab2707
tree21cdba99818b0df3c5bb001092ed38be34b36dc4
parent7f9dc7bf8535048a54ef1bfd50bd5541cfbba1c2
[libc] Add check for locally installed GPUs

We need to know which, if any, GPUs the user has on their system if we
want to be able to test the `libc` source code for the GPU. This patch
adds a basic check using the `amdgpu-arch` utility which is provided by
`clang`.

Checking for NVIDIA GPUs will be done later as this is a little
problematic right now. CMake provides a method that we use for Clang but
it will soon be deprecated, the replacement requires a newer CMake
version that we will have in the LLVM 17 branch in the future. CUDA also
provides `__nvcc_device_query` but it's very new so I'm not sure if we
should rely on it. I may introduce a new tool to do it similar to
`amdgpu-arch`.

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D140422
libc/cmake/modules/prepare_libc_gpu_build.cmake