<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in llvm-omp-device-info.cpp</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>313c5239 - [OpenMP][Tool] Introducing the `llvm-omp-device-info` tool</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/openmp/libomptarget/tools/deviceinfo/llvm-omp-device-info.cpp#313c5239</link>
        <description>[OpenMP][Tool] Introducing the `llvm-omp-device-info` toolThis patch introduces the `llvm-omp-device-info` tool, which uses theomptarget library and interface to query the device info from all theavailable devices as seen by OpenMP. This is inspired by PGI&apos;s `pgaccelinfo`Since omptarget usually requires a description structure with executablekernels, I split the initialization of the RTLs and Devices to be able toinitialize all possible devices and query each of them.This revision relies on the patch that introduces the print device info.A limitation is that the order in which the devices are initialized, and thecorresponding device ID is not necesarily the one seen by OpenMP.The changes are as follows:1. Separate the RTL initialization that was performed in `RegisterLib` to its own `initRTLonce` function2. Create an `initAllRTLs` method that initializes all available RTLs at runtime3. Created the `llvm-deviceinfo.cpp` tool that uses `omptarget` to query each device and prints its information.Example Output:```Device (0):    print_device_info not implementedDevice (1):    print_device_info not implementedDevice (2):    print_device_info not implementedDevice (3):    print_device_info not implementedDevice (4):    CUDA Driver Version:                11000    CUDA Device Number:                 0    Device Name:                        Quadro P1000    Global Memory Size:                 4236312576 bytes    Number of Multiprocessors:          5    Concurrent Copy and Execution:      Yes    Total Constant Memory:              65536 bytes    Max Shared Memory per Block:        49152 bytes    Registers per Block:                65536    Warp Size:                          32 Threads    Maximum Threads per Block:          1024    Maximum Block Dimensions:           1024, 1024, 64    Maximum Grid Dimensions:            2147483647 x 65535 x 65535    Maximum Memory Pitch:               2147483647 bytes    Texture Alignment:                  512 bytes    Clock Rate:                         1480500 kHz    Execution Timeout:                  Yes    Integrated Device:                  No    Can Map Host Memory:                Yes    Compute Mode:                       DEFAULT    Concurrent Kernels:                 Yes    ECC Enabled:                        No    Memory Clock Rate:                  2505000 kHz    Memory Bus Width:                   128 bits    L2 Cache Size:                      1048576 bytes    Max Threads Per SMP:                2048    Async Engines:                      Yes (2)    Unified Addressing:                 Yes    Managed Memory:                     Yes    Concurrent Managed Memory:          Yes    Preemption Supported:               Yes    Cooperative Launch:                 Yes    Multi-Device Boars:                 No    Compute Capabilities:               61```Reviewed By: tianshilei1992Differential Revision: https://reviews.llvm.org/D106752

            List of files:
            /llvm-project-15.0.7/openmp/libomptarget/tools/deviceinfo/llvm-omp-device-info.cpp</description>
        <pubDate>Wed, 28 Jul 2021 02:38:27 +0000</pubDate>
        <dc:creator>Jose M Monsalve Diaz &lt;jmonsalvediaz@anl.gov&gt;</dc:creator>
    </item>
</channel>
</rss>
