LCOV - code coverage report
Current view: top level - build/_deps/kokkos-src/core/src - Kokkos_Printf.hpp (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 2 0.0 %
Date: 2026-02-16 14:39:39 Functions: 0 0 -

          Line data    Source code
       1             : //@HEADER
       2             : // ************************************************************************
       3             : //
       4             : //                        Kokkos v. 4.0
       5             : //       Copyright (2022) National Technology & Engineering
       6             : //               Solutions of Sandia, LLC (NTESS).
       7             : //
       8             : // Under the terms of Contract DE-NA0003525 with NTESS,
       9             : // the U.S. Government retains certain rights in this software.
      10             : //
      11             : // Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions.
      12             : // See https://kokkos.org/LICENSE for license information.
      13             : // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
      14             : //
      15             : //@HEADER
      16             : 
      17             : #ifndef KOKKOS_PRINTF_HPP
      18             : #define KOKKOS_PRINTF_HPP
      19             : 
      20             : #include <Kokkos_Macros.hpp>
      21             : 
      22             : #ifdef KOKKOS_ENABLE_SYCL
      23             : #include <sycl/sycl.hpp>
      24             : #else
      25             : #include <cstdio>
      26             : #endif
      27             : 
      28             : namespace Kokkos {
      29             : 
      30             : // In contrast to std::printf, return void to get a consistent behavior across
      31             : // backends. The GPU backends always return 1 and NVHPC only compiles if we
      32             : // don't ask for the return value.
      33             : #if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU)
      34             : using ::printf;
      35             : #else
      36             : template <typename... Args>
      37           0 : KOKKOS_FORCEINLINE_FUNCTION void printf(const char* format, Args... args) {
      38             : #ifdef KOKKOS_ENABLE_SYCL
      39             :   // Some compilers warn if "args" is empty and format is not a string literal
      40             :   if constexpr (sizeof...(Args) == 0)
      41             :     sycl::ext::oneapi::experimental::printf("%s", format);
      42             :   else
      43             :     sycl::ext::oneapi::experimental::printf(format, args...);
      44             : #else
      45             :   if constexpr (sizeof...(Args) == 0)
      46             :     ::printf("%s", format);
      47             :   else
      48           0 :     ::printf(format, args...);
      49             : #endif
      50             : }
      51             : #endif
      52             : 
      53             : }  // namespace Kokkos
      54             : 
      55             : #endif /* #ifndef KOKKOS_PRINTF_HPP */

Generated by: LCOV version 1.14