| //===- llvm-omp-device-info.cpp - Obtain device info as seen from OpenMP --===// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // This is a command line utility that, by using Libomptarget, and the device |
| // plugins, list devices information as seen from the OpenMP Runtime. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #include "omptarget.h" |
| #include <cstdio> |
| |
| int main(int argc, char **argv) { |
| __tgt_bin_desc EmptyDesc = {0, nullptr, nullptr, nullptr}; |
| __tgt_register_lib(&EmptyDesc); |
| __tgt_init_all_rtls(); |
| |
| for (int Dev = 0; Dev < omp_get_num_devices(); Dev++) { |
| printf("Device (%d):\n", Dev); |
| if (!__tgt_print_device_info(Dev)) |
| printf(" print_device_info not implemented\n"); |
| printf("\n"); |
| } |
| |
| __tgt_unregister_lib(&EmptyDesc); |
| return 0; |
| } |