[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