CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
691 lines
40 KiB
C
691 lines
40 KiB
C
//===---------------- Xteamr.h - OpenMP interface ----------------- C++ -*-===//
|
|
//
|
|
// 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
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// DeviceRTL Header file: Xteamr.h
|
|
// External __kmpc headers for cross team reduction functions defined
|
|
// in DeviceRTL/src/Xteamr.cpp. Clang generates a call to one of these
|
|
// functions when it encounter a reduction. The specific function depends
|
|
// on datatype and warpsize. The number of waves must be a power of 2.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef OMPTARGET_DEVICERTL_XTEAMR_H
|
|
#define OMPTARGET_DEVICERTL_XTEAMR_H
|
|
#include "DeviceTypes.h"
|
|
#include "Synchronization.h"
|
|
|
|
#define _CD double _Complex
|
|
#define _CF float _Complex
|
|
#define _US unsigned short
|
|
#define _UI unsigned int
|
|
#define _UL unsigned long
|
|
#define _INLINE_ATTR_ __attribute__((flatten, always_inline))
|
|
#define _RF_LDS volatile __gpu_local
|
|
|
|
extern "C" {
|
|
/// External cross team reduction (xteamr) helper functions
|
|
///
|
|
/// The template for name of xteamr helper function is:
|
|
/// __kmpc_xteamr_<dtype>_<max_waves>x<WSZ> where
|
|
/// <dtype> is letter(s) representing data type, e.g. d=double.
|
|
/// <max_waves> maximum number of waves in thread block.
|
|
/// <WSZ> warp size, 32 or 64.
|
|
/// IS_FAST There is an optional template boolean type (defaulting to false)
|
|
/// that indicates if an atomic add should be used instead of the last
|
|
/// reduction round. This applies to only sum reduction currently.
|
|
/// Example: __kmpc_xteamr_d_16x64 is the reduction helper function
|
|
/// for all reductions with data type double for warp size 64.
|
|
/// All xteamr helper functions are defined in Xteamr.cpp. They each call the
|
|
/// internal templated function _xteam_reduction also defined in Xteamr.cpp.
|
|
/// Clang/flang code generation for C, C++, and FORTRAN instantiate a call to
|
|
/// a helper function for each reduction used in an OpenMP target region.
|
|
///
|
|
/// \param Input thread local reduction value
|
|
/// \param Pointer to result value
|
|
/// \param Global array of team values for this reduction instance
|
|
/// \param Pointer to atomic counter of completed teams
|
|
/// \param Function pointer to reduction function (sum,min,max)
|
|
/// \param Function pointer to reduction function on LDS memory
|
|
/// \param Reduction null value
|
|
/// \param Outer loop iteration value, 0 to numteams*numthreads
|
|
/// \param Number of teams
|
|
|
|
/// External intra-team reduction (iteamr) helper functions
|
|
///
|
|
/// The name template for intra-team helper functions is
|
|
/// __kmpc_iteamr_<dtype>_<max_waves>x<WSZ> where
|
|
/// <dtype> is letter(s) representing data type, e.g. d=double.
|
|
/// <max_waves> maximum number of waves in thread block.
|
|
/// <WSZ> warp size, 32 or 64.
|
|
/// All iteamr helper functions are defined in Xteamr.cpp. They each call the
|
|
/// internal templated function _iteam_reduction also defined in Xteamr.cpp.
|
|
///
|
|
/// \param Input thread local reduction value
|
|
/// \param Pointer to result value
|
|
/// \param Function pointer to reduction function (sum,min,max)
|
|
/// \param Function pointer to reduction function on LDS memory
|
|
/// \param Reduction null value
|
|
/// \param Outer loop iteration value, 0 to numthreads
|
|
///
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_d_16x64(
|
|
double v, double *r_ptr, double *tvs, uint32_t *td,
|
|
void (*_rf)(double *, double),
|
|
void (*_rf_lds)(_RF_LDS double *, _RF_LDS double *), const double rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_d_16x64_fast_sum(
|
|
double v, double *r_ptr, double *tvs, uint32_t *td,
|
|
void (*_rf)(double *, double),
|
|
void (*_rf_lds)(_RF_LDS double *, _RF_LDS double *), const double rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_d_16x64(double v, double *r_ptr,
|
|
void (*_rf)(double *, double),
|
|
void (*_rf_lds)(_RF_LDS double *,
|
|
_RF_LDS double *),
|
|
const double rnv, const uint64_t k);
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_f_16x64(
|
|
float v, float *r_ptr, float *tvs, uint32_t *td,
|
|
void (*_rf)(float *, float),
|
|
void (*_rf_lds)(_RF_LDS float *, _RF_LDS float *), const float rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_f_16x64_fast_sum(
|
|
float v, float *r_ptr, float *tvs, uint32_t *td,
|
|
void (*_rf)(float *, float),
|
|
void (*_rf_lds)(_RF_LDS float *, _RF_LDS float *), const float rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_f_16x64(float v, float *r_ptr,
|
|
void (*_rf)(float *, float),
|
|
void (*_rf_lds)(_RF_LDS float *,
|
|
_RF_LDS float *),
|
|
const float rnv, const uint64_t k);
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_h_16x64(
|
|
_Float16 v, _Float16 *r_ptr, _Float16 *tvs, uint32_t *td,
|
|
void (*_rf)(_Float16 *, _Float16),
|
|
void (*_rf_lds)(_RF_LDS _Float16 *, _RF_LDS _Float16 *), const _Float16 rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_h_16x64_fast_sum(
|
|
_Float16 v, _Float16 *r_ptr, _Float16 *tvs, uint32_t *td,
|
|
void (*_rf)(_Float16 *, _Float16),
|
|
void (*_rf_lds)(_RF_LDS _Float16 *, _RF_LDS _Float16 *), const _Float16 rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_h_16x64(_Float16 v, _Float16 *r_ptr,
|
|
void (*_rf)(_Float16 *, _Float16),
|
|
void (*_rf_lds)(_RF_LDS _Float16 *,
|
|
_RF_LDS _Float16 *),
|
|
const _Float16 rnv, const uint64_t k);
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_bf_16x64(
|
|
__bf16 v, __bf16 *r_ptr, __bf16 *tvs, uint32_t *td,
|
|
void (*_rf)(__bf16 *, __bf16),
|
|
void (*_rf_lds)(_RF_LDS __bf16 *, _RF_LDS __bf16 *), const __bf16 rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_bf_16x64_fast_sum(
|
|
__bf16 v, __bf16 *r_ptr, __bf16 *tvs, uint32_t *td,
|
|
void (*_rf)(__bf16 *, __bf16),
|
|
void (*_rf_lds)(_RF_LDS __bf16 *, _RF_LDS __bf16 *), const __bf16 rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_bf_16x64(__bf16 v, __bf16 *r_ptr,
|
|
void (*_rf)(__bf16 *, __bf16),
|
|
void (*_rf_lds)(_RF_LDS __bf16 *,
|
|
_RF_LDS __bf16 *),
|
|
const __bf16 rnv, const uint64_t k);
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_cd_16x64(
|
|
_CD v, _CD *r_ptr, _CD *tvs, uint32_t *td, void (*_rf)(_CD *, _CD),
|
|
void (*_rf_lds)(_RF_LDS _CD *, _RF_LDS _CD *), const _CD rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_cd_16x64_fast_sum(
|
|
_CD v, _CD *r_ptr, _CD *tvs, uint32_t *td, void (*_rf)(_CD *, _CD),
|
|
void (*_rf_lds)(_RF_LDS _CD *, _RF_LDS _CD *), const _CD rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_cd_16x64(_CD v, _CD *r_ptr,
|
|
void (*_rf)(_CD *, _CD),
|
|
void (*_rf_lds)(_RF_LDS _CD *,
|
|
_RF_LDS _CD *),
|
|
const _CD rnv, const uint64_t k);
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_cf_16x64(
|
|
_CF v, _CF *r_ptr, _CF *tvs, uint32_t *td, void (*_rf)(_CF *, _CF),
|
|
void (*_rf_lds)(_RF_LDS _CF *, _RF_LDS _CF *), const _CF rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_cf_16x64_fast_sum(
|
|
_CF v, _CF *r_ptr, _CF *tvs, uint32_t *td, void (*_rf)(_CF *, _CF),
|
|
void (*_rf_lds)(_RF_LDS _CF *, _RF_LDS _CF *), const _CF rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_cf_16x64(_CF v, _CF *r_ptr,
|
|
void (*_rf)(_CF *, _CF),
|
|
void (*_rf_lds)(_RF_LDS _CF *,
|
|
_RF_LDS _CF *),
|
|
const _CF rnv, const uint64_t k);
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_s_16x64(
|
|
short v, short *r_ptr, short *tvs, uint32_t *td,
|
|
void (*_rf)(short *, short),
|
|
void (*_rf_lds)(_RF_LDS short *, _RF_LDS short *), const short rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_s_16x64_fast_sum(
|
|
short v, short *r_ptr, short *tvs, uint32_t *td,
|
|
void (*_rf)(short *, short),
|
|
void (*_rf_lds)(_RF_LDS short *, _RF_LDS short *), const short rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_s_16x64(short v, short *r_ptr,
|
|
void (*_rf)(short *, short),
|
|
void (*_rf_lds)(_RF_LDS short *,
|
|
_RF_LDS short *),
|
|
const short rnv, const uint64_t k);
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_us_16x64(
|
|
_US v, _US *r_ptr, _US *tvs, uint32_t *td, void (*_rf)(_US *, _US),
|
|
void (*_rf_lds)(_RF_LDS _US *, _RF_LDS _US *), const _US rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_us_16x64_fast_sum(
|
|
_US v, _US *r_ptr, _US *tvs, uint32_t *td, void (*_rf)(_US *, _US),
|
|
void (*_rf_lds)(_RF_LDS _US *, _RF_LDS _US *), const _US rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_us_16x64(_US v, _US *r_ptr,
|
|
void (*_rf)(_US *, _US),
|
|
void (*_rf_lds)(_RF_LDS _US *,
|
|
_RF_LDS _US *),
|
|
const _US rnv, const uint64_t k);
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_i_16x64(
|
|
int v, int *r_ptr, int *tvs, uint32_t *td, void (*_rf)(int *, int),
|
|
void (*_rf_lds)(_RF_LDS int *, _RF_LDS int *), const int rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_i_16x64_fast_sum(
|
|
int v, int *r_ptr, int *tvs, uint32_t *td, void (*_rf)(int *, int),
|
|
void (*_rf_lds)(_RF_LDS int *, _RF_LDS int *), const int rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_i_16x64(int v, int *r_ptr,
|
|
void (*_rf)(int *, int),
|
|
void (*_rf_lds)(_RF_LDS int *,
|
|
_RF_LDS int *),
|
|
const int rnv, const uint64_t k);
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_ui_16x64(
|
|
_UI v, _UI *r_ptr, _UI *tvs, uint32_t *td, void (*_rf)(_UI *, _UI),
|
|
void (*_rf_lds)(_RF_LDS _UI *, _RF_LDS _UI *), const _UI rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_ui_16x64_fast_sum(
|
|
_UI v, _UI *r_ptr, _UI *tvs, uint32_t *td, void (*_rf)(_UI *, _UI),
|
|
void (*_rf_lds)(_RF_LDS _UI *, _RF_LDS _UI *), const _UI rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_ui_16x64(_UI v, _UI *r_ptr,
|
|
void (*_rf)(_UI *, _UI),
|
|
void (*_rf_lds)(_RF_LDS _UI *,
|
|
_RF_LDS _UI *),
|
|
const _UI rnv, const uint64_t k);
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_l_16x64(
|
|
long v, long *r_ptr, long *tvs, uint32_t *td, void (*_rf)(long *, long),
|
|
void (*_rf_lds)(_RF_LDS long *, _RF_LDS long *), const long rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_l_16x64_fast_sum(
|
|
long v, long *r_ptr, long *tvs, uint32_t *td, void (*_rf)(long *, long),
|
|
void (*_rf_lds)(_RF_LDS long *, _RF_LDS long *), const long rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_l_16x64(long v, long *r_ptr,
|
|
void (*_rf)(long *, long),
|
|
void (*_rf_lds)(_RF_LDS long *,
|
|
_RF_LDS long *),
|
|
const long rnv, const uint64_t k);
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_ul_16x64(
|
|
_UL v, _UL *r_ptr, _UL *tvs, uint32_t *td, void (*_rf)(_UL *, _UL),
|
|
void (*_rf_lds)(_RF_LDS _UL *, _RF_LDS _UL *), const _UL rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_ul_16x64_fast_sum(
|
|
_UL v, _UL *r_ptr, _UL *tvs, uint32_t *td, void (*_rf)(_UL *, _UL),
|
|
void (*_rf_lds)(_RF_LDS _UL *, _RF_LDS _UL *), const _UL rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_ul_16x64(_UL v, _UL *r_ptr,
|
|
void (*_rf)(_UL *, _UL),
|
|
void (*_rf_lds)(_RF_LDS _UL *,
|
|
_RF_LDS _UL *),
|
|
const _UL rnv, const uint64_t k);
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_d_32x32(
|
|
double v, double *r_ptr, double *tvs, uint32_t *td,
|
|
void (*_rf)(double *, double),
|
|
void (*_rf_lds)(_RF_LDS double *, _RF_LDS double *), const double rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_d_32x32_fast_sum(
|
|
double v, double *r_ptr, double *tvs, uint32_t *td,
|
|
void (*_rf)(double *, double),
|
|
void (*_rf_lds)(_RF_LDS double *, _RF_LDS double *), const double rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_d_32x32(double v, double *r_ptr,
|
|
void (*_rf)(double *, double),
|
|
void (*_rf_lds)(_RF_LDS double *,
|
|
_RF_LDS double *),
|
|
const double rnv, const uint64_t k);
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_f_32x32(
|
|
float v, float *r_ptr, float *tvs, uint32_t *td,
|
|
void (*_rf)(float *, float),
|
|
void (*_rf_lds)(_RF_LDS float *, _RF_LDS float *), const float rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_f_32x32_fast_sum(
|
|
float v, float *r_ptr, float *tvs, uint32_t *td,
|
|
void (*_rf)(float *, float),
|
|
void (*_rf_lds)(_RF_LDS float *, _RF_LDS float *), const float rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_f_32x32(float v, float *r_ptr,
|
|
void (*_rf)(float *, float),
|
|
void (*_rf_lds)(_RF_LDS float *,
|
|
_RF_LDS float *),
|
|
const float rnv, const uint64_t k);
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_h_32x32(
|
|
_Float16 v, _Float16 *r_ptr, _Float16 *tvs, uint32_t *td,
|
|
void (*_rf)(_Float16 *, _Float16),
|
|
void (*_rf_lds)(_RF_LDS _Float16 *, _RF_LDS _Float16 *), const _Float16 rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_h_32x32_fast_sum(
|
|
_Float16 v, _Float16 *r_ptr, _Float16 *tvs, uint32_t *td,
|
|
void (*_rf)(_Float16 *, _Float16),
|
|
void (*_rf_lds)(_RF_LDS _Float16 *, _RF_LDS _Float16 *), const _Float16 rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_h_32x32(_Float16 v, _Float16 *r_ptr,
|
|
void (*_rf)(_Float16 *, _Float16),
|
|
void (*_rf_lds)(_RF_LDS _Float16 *,
|
|
_RF_LDS _Float16 *),
|
|
const _Float16 rnv, const uint64_t k);
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_bf_32x32(
|
|
__bf16 v, __bf16 *r_ptr, __bf16 *tvs, uint32_t *td,
|
|
void (*_rf)(__bf16 *, __bf16),
|
|
void (*_rf_lds)(_RF_LDS __bf16 *, _RF_LDS __bf16 *), const __bf16 rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_bf_32x32_fast_sum(
|
|
__bf16 v, __bf16 *r_ptr, __bf16 *tvs, uint32_t *td,
|
|
void (*_rf)(__bf16 *, __bf16),
|
|
void (*_rf_lds)(_RF_LDS __bf16 *, _RF_LDS __bf16 *), const __bf16 rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_bf_32x32(__bf16 v, __bf16 *r_ptr,
|
|
void (*_rf)(__bf16 *, __bf16),
|
|
void (*_rf_lds)(_RF_LDS __bf16 *,
|
|
_RF_LDS __bf16 *),
|
|
const __bf16 rnv, const uint64_t k);
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_cd_32x32(
|
|
_CD v, _CD *r_ptr, _CD *tvs, uint32_t *td, void (*_rf)(_CD *, _CD),
|
|
void (*_rf_lds)(_RF_LDS _CD *, _RF_LDS _CD *), const _CD rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_cd_32x32_fast_sum(
|
|
_CD v, _CD *r_ptr, _CD *tvs, uint32_t *td, void (*_rf)(_CD *, _CD),
|
|
void (*_rf_lds)(_RF_LDS _CD *, _RF_LDS _CD *), const _CD rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_cd_32x32(_CD v, _CD *r_ptr,
|
|
void (*_rf)(_CD *, _CD),
|
|
void (*_rf_lds)(_RF_LDS _CD *,
|
|
_RF_LDS _CD *),
|
|
const _CD rnv, const uint64_t k);
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_cf_32x32(
|
|
_CF v, _CF *r_ptr, _CF *tvs, uint32_t *td, void (*_rf)(_CF *, _CF),
|
|
void (*_rf_lds)(_RF_LDS _CF *, _RF_LDS _CF *), const _CF rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_cf_32x32_fast_sum(
|
|
_CF v, _CF *r_ptr, _CF *tvs, uint32_t *td, void (*_rf)(_CF *, _CF),
|
|
void (*_rf_lds)(_RF_LDS _CF *, _RF_LDS _CF *), const _CF rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_cf_32x32(_CF v, _CF *r_ptr,
|
|
void (*_rf)(_CF *, _CF),
|
|
void (*_rf_lds)(_RF_LDS _CF *,
|
|
_RF_LDS _CF *),
|
|
const _CF rnv, const uint64_t k);
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_s_32x32(
|
|
short v, short *r_ptr, short *tvs, uint32_t *td,
|
|
void (*_rf)(short *, short),
|
|
void (*_rf_lds)(_RF_LDS short *, _RF_LDS short *), const short rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_s_32x32_fast_sum(
|
|
short v, short *r_ptr, short *tvs, uint32_t *td,
|
|
void (*_rf)(short *, short),
|
|
void (*_rf_lds)(_RF_LDS short *, _RF_LDS short *), const short rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_s_32x32(short v, short *r_ptr,
|
|
void (*_rf)(short *, short),
|
|
void (*_rf_lds)(_RF_LDS short *,
|
|
_RF_LDS short *),
|
|
const short rnv, const uint64_t k);
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_us_32x32(
|
|
_US v, _US *r_ptr, _US *tvs, uint32_t *td, void (*_rf)(_US *, _US),
|
|
void (*_rf_lds)(_RF_LDS _US *, _RF_LDS _US *), const _US rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_us_32x32_fast_sum(
|
|
_US v, _US *r_ptr, _US *tvs, uint32_t *td, void (*_rf)(_US *, _US),
|
|
void (*_rf_lds)(_RF_LDS _US *, _RF_LDS _US *), const _US rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_us_32x32(_US v, _US *r_ptr,
|
|
void (*_rf)(_US *, _US),
|
|
void (*_rf_lds)(_RF_LDS _US *,
|
|
_RF_LDS _US *),
|
|
const _US rnv, const uint64_t k);
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_i_32x32(
|
|
int v, int *r_ptr, int *tvs, uint32_t *td, void (*_rf)(int *, int),
|
|
void (*_rf_lds)(_RF_LDS int *, _RF_LDS int *), const int rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_i_32x32_fast_sum(
|
|
int v, int *r_ptr, int *tvs, uint32_t *td, void (*_rf)(int *, int),
|
|
void (*_rf_lds)(_RF_LDS int *, _RF_LDS int *), const int rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_i_32x32(int v, int *r_ptr,
|
|
void (*_rf)(int *, int),
|
|
void (*_rf_lds)(_RF_LDS int *,
|
|
_RF_LDS int *),
|
|
const int rnv, const uint64_t k);
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_ui_32x32(
|
|
_UI v, _UI *r_ptr, _UI *tvs, uint32_t *td, void (*_rf)(_UI *, _UI),
|
|
void (*_rf_lds)(_RF_LDS _UI *, _RF_LDS _UI *), const _UI rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_ui_32x32_fast_sum(
|
|
_UI v, _UI *r_ptr, _UI *tvs, uint32_t *td, void (*_rf)(_UI *, _UI),
|
|
void (*_rf_lds)(_RF_LDS _UI *, _RF_LDS _UI *), const _UI rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_ui_32x32(_UI v, _UI *r_ptr,
|
|
void (*_rf)(_UI *, _UI),
|
|
void (*_rf_lds)(_RF_LDS _UI *,
|
|
_RF_LDS _UI *),
|
|
const _UI rnv, const uint64_t k);
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_l_32x32(
|
|
long v, long *r_ptr, long *tvs, uint32_t *td, void (*_rf)(long *, long),
|
|
void (*_rf_lds)(_RF_LDS long *, _RF_LDS long *), const long rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_l_32x32_fast_sum(
|
|
long v, long *r_ptr, long *tvs, uint32_t *td, void (*_rf)(long *, long),
|
|
void (*_rf_lds)(_RF_LDS long *, _RF_LDS long *), const long rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_l_32x32(long v, long *r_ptr,
|
|
void (*_rf)(long *, long),
|
|
void (*_rf_lds)(_RF_LDS long *,
|
|
_RF_LDS long *),
|
|
const long rnv, const uint64_t k);
|
|
/// Cross team reduction (xteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_ul_32x32(
|
|
_UL v, _UL *r_ptr, _UL *tvs, uint32_t *td, void (*_rf)(_UL *, _UL),
|
|
void (*_rf_lds)(_RF_LDS _UL *, _RF_LDS _UL *), const _UL rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Fast Cross team sum reduction (xteamr) helper function, see documentation
|
|
/// above.
|
|
void _INLINE_ATTR_ __kmpc_xteamr_ul_32x32_fast_sum(
|
|
_UL v, _UL *r_ptr, _UL *tvs, uint32_t *td, void (*_rf)(_UL *, _UL),
|
|
void (*_rf_lds)(_RF_LDS _UL *, _RF_LDS _UL *), const _UL rnv,
|
|
const uint64_t k, const uint32_t numteams,
|
|
ompx::atomic::MemScopeTy Scope = ompx::atomic::system);
|
|
/// Intra-team reduction (iteamr) helper function, see documentation above.
|
|
void _INLINE_ATTR_ __kmpc_iteamr_ul_32x32(_UL v, _UL *r_ptr,
|
|
void (*_rf)(_UL *, _UL),
|
|
void (*_rf_lds)(_RF_LDS _UL *,
|
|
_RF_LDS _UL *),
|
|
const _UL rnv, const uint64_t k);
|
|
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_d(double *val, double otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_lds_d(_RF_LDS double *val, _RF_LDS double *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_f(float *val, float otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_lds_f(_RF_LDS float *val, _RF_LDS float *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_h(_Float16 *val, _Float16 otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_lds_h(_RF_LDS _Float16 *val, _RF_LDS _Float16 *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_bf(__bf16 *val, __bf16 otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_lds_bf(_RF_LDS __bf16 *val, _RF_LDS __bf16 *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_cd(_CD *val, _CD otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_lds_cd(_RF_LDS _CD *val, _RF_LDS _CD *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_cf(_CF *val, _CF otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_lds_cf(_RF_LDS _CF *val, _RF_LDS _CF *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_s(short *val, short otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_lds_s(_RF_LDS short *val, _RF_LDS short *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_us(_US *val, _US otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_lds_us(_RF_LDS _US *val, _RF_LDS _US *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_i(int *val, int otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_lds_i(_RF_LDS int *val, _RF_LDS int *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_ui(_UI *val, _UI otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_lds_ui(_RF_LDS _UI *val, _RF_LDS _UI *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_l(long *val, long otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_lds_l(_RF_LDS long *val, _RF_LDS long *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_ul(_UL *val, _UL otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_sum_lds_ul(_RF_LDS _UL *val, _RF_LDS _UL *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_max_d(double *val, double otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_max_lds_d(_RF_LDS double *val, _RF_LDS double *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_max_f(float *val, float otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_max_lds_f(_RF_LDS float *val, _RF_LDS float *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_max_h(_Float16 *val, _Float16 otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_max_lds_h(_RF_LDS _Float16 *val, _RF_LDS _Float16 *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_max_bf(__bf16 *val, __bf16 otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_max_lds_bf(_RF_LDS __bf16 *val, _RF_LDS __bf16 *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_max_s(short *val, short otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_max_lds_s(_RF_LDS short *val, _RF_LDS short *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_max_us(_US *val, _US otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_max_lds_us(_RF_LDS _US *val, _RF_LDS _US *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_max_i(int *val, int otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_max_lds_i(_RF_LDS int *val, _RF_LDS int *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_max_ui(_UI *val, _UI otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_max_lds_ui(_RF_LDS _UI *val, _RF_LDS _UI *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_max_l(long *val, long otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_max_lds_l(_RF_LDS long *val, _RF_LDS long *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_max_ul(_UL *val, _UL otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_max_lds_ul(_RF_LDS _UL *val, _RF_LDS _UL *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_min_d(double *val, double otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_min_lds_d(_RF_LDS double *val, _RF_LDS double *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_min_f(float *val, float otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_min_lds_f(_RF_LDS float *val, _RF_LDS float *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_min_h(_Float16 *val, _Float16 otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_min_lds_h(_RF_LDS _Float16 *val, _RF_LDS _Float16 *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_min_bf(__bf16 *val, __bf16 otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_min_lds_bf(_RF_LDS __bf16 *val, _RF_LDS __bf16 *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_min_s(short *val, short otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_min_lds_s(_RF_LDS short *val, _RF_LDS short *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_min_us(_US *val, _US otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_min_lds_us(_RF_LDS _US *val, _RF_LDS _US *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_min_i(int *val, int otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_min_lds_i(_RF_LDS int *val, _RF_LDS int *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_min_ui(_UI *val, _UI otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_min_lds_ui(_RF_LDS _UI *val, _RF_LDS _UI *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_min_l(long *val, long otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_min_lds_l(_RF_LDS long *val, _RF_LDS long *otherval);
|
|
/// Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_min_ul(_UL *val, _UL otherval);
|
|
/// LDS Built-in pair reduction function, see documentation above.
|
|
void __kmpc_rfun_min_lds_ul(_RF_LDS _UL *val, _RF_LDS _UL *otherval);
|
|
} // end extern C
|
|
|
|
#undef _CD
|
|
#undef _CF
|
|
#undef _US
|
|
#undef _UI
|
|
#undef _UL
|
|
#undef _INLINE_ATTR_
|
|
#undef _RF_LDS
|
|
|
|
#endif // of ifndef OMPTARGET_DEVICERTL_XTEAMR_H
|