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@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

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to