[PATCH] D99949: [AMDGPU][OpenMP] Add amdgpu-arch tool to list AMD GPUs installed
Greg Rodgers via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Apr 14 07:05:39 PDT 2021
gregrodgers requested changes to this revision.
gregrodgers added a comment.
This revision now requires changes to proceed.
I have two serious concerns with this tool . 1. It does not provide the infrastructure to identify runtime capabilities to satisfy requirements of a compiled image. 2. It is not architecturally neutral or extensible to other architectures. I have a different proposed tool called offload-arch . Here is the help text for offload-arch.
grodgers at r4:/tmp/grodgers/git/aomp13/llvm-project/clang/tools/offload-arch/build$ ./offload-arch -h
offload-arch: Print offload architecture(s) for the current active system.
or lookup information about offload architectures
Usage:
offload-arch [ Options ] [ Optional lookup-value ]
With no options, offload-arch prints a value for first offload architecture
found in current system. This value can be used by various clang frontends.
For example, to compile for openmp offloading on current current system
one could invoke clang with the following command:
clang -fopenmp -openmp-targets=`offload-arch` foo.c
If an optional lookup-value is specified, offload-arch will
check if the value is either a valid offload-arch or a codename
and lookup requested additional information. For example,
this provides all information for offload-arch gfx906:
offload-arch gfx906 -v
Options:
-h Print this help message
-a Print values for all devices. Don't stop at first device found.
-c Print codename
-n Print numeric pci-id
-t Print recommended offload triple.
-v Verbose = -a -c -n -t
-l Print long codename found in pci.ids file
-r Print capabilities of current system to satisfy runtime requirements
of compiled offload images. This option is used by the runtime to
choose correct image when multiple compiled images are availble.
The alias amdgpu-arch returns 1 if no amdgcn GPU is found.
The alias nvidia-arch returns 1 if no cuda GPU is found.
These aliases are useful to determine if architecture-specific tests
should be run. Or these aliases could be used to conditionally load
archecture-specific software.
Copyright (c) 2021 ADVANCED MICRO DEVICES, INC.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D99949/new/
https://reviews.llvm.org/D99949
More information about the cfe-commits
mailing list