| backend.h (07d5dec1642b3d8b5aca8f12f47bcc29bb156592) | backend.h (58c07c4fa7bdba34c2b29fbdcd58893d48c3fd9e) |
|---|---|
| 1// Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and other CEED contributors. 2// All Rights Reserved. See the top-level LICENSE and NOTICE files for details. 3// 4// SPDX-License-Identifier: BSD-2-Clause 5// 6// This file is part of CEED: http://github.com/ceed 7 8/// @file --- 38 unchanged lines hidden (view full) --- 47#ifndef CeedPragmaOptimizeOn 48#if defined(__clang__) 49/// This macro restores previously set optimization flags after CeedPragmaOptimizeOff. 50/// @ingroup Ceed 51#define CeedPragmaOptimizeOn _Pragma("clang optimize on") 52#elif defined(__GNUC__) 53#define CeedPragmaOptimizeOn _Pragma("GCC pop_options") 54#elif defined(__INTEL_COMPILER) || defined(__INTEL_LLVM_COMPILER) | 1// Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and other CEED contributors. 2// All Rights Reserved. See the top-level LICENSE and NOTICE files for details. 3// 4// SPDX-License-Identifier: BSD-2-Clause 5// 6// This file is part of CEED: http://github.com/ceed 7 8/// @file --- 38 unchanged lines hidden (view full) --- 47#ifndef CeedPragmaOptimizeOn 48#if defined(__clang__) 49/// This macro restores previously set optimization flags after CeedPragmaOptimizeOff. 50/// @ingroup Ceed 51#define CeedPragmaOptimizeOn _Pragma("clang optimize on") 52#elif defined(__GNUC__) 53#define CeedPragmaOptimizeOn _Pragma("GCC pop_options") 54#elif defined(__INTEL_COMPILER) || defined(__INTEL_LLVM_COMPILER) |
| 55#define CeedPragmaOptimizeOff _Pragma("optimize('', on)") | 55#define CeedPragmaOptimizeOn _Pragma("optimize('', on)") |
| 56#else 57#define CeedPragmaOptimizeOn 58#endif 59#endif 60 | 56#else 57#define CeedPragmaOptimizeOn 58#endif 59#endif 60 |
| 61/// This macro provides the appropriate OpenMP Pragmas for the compilation environment. 62/// @ingroup Ceed 63#ifndef CeedPragmaOMP 64#ifdef _OPENMP 65#define CeedPragmaOMPHelper(x) _Pragma(#x) 66#define CeedPragmaOMP(x) CeedPragmaOMPHelper(omp x) 67#else 68#define CeedPragmaOMP(x) 69#endif 70#endif 71#ifndef CeedPragmaAtomic 72#define CeedPragmaAtomic CeedPragmaOMP(atomic update) 73#endif 74#ifndef CeedPragmaCritical 75#define CeedPragmaCritical(x) CeedPragmaOMP(critical(x)) 76#endif 77 |
|
| 61/** 62 This enum supples common colors for CeedDebug256 debugging output. 63 Set the environment variable `CEED_DEBUG = 1` to activate debugging output. 64 65 @ingroup Ceed 66 @ref Backend 67**/ 68typedef enum { --- 188 unchanged lines hidden (view full) --- 257CEED_EXTERN int CeedElemRestrictionGetStrides(CeedElemRestriction rstr, CeedInt (*strides)[3]); 258CEED_EXTERN int CeedElemRestrictionHasBackendStrides(CeedElemRestriction rstr, bool *has_backend_strides); 259CEED_EXTERN int CeedElemRestrictionGetOffsets(CeedElemRestriction rstr, CeedMemType mem_type, const CeedInt **offsets); 260CEED_EXTERN int CeedElemRestrictionRestoreOffsets(CeedElemRestriction rstr, const CeedInt **offsets); 261CEED_EXTERN int CeedElemRestrictionGetOrientations(CeedElemRestriction rstr, CeedMemType mem_type, const bool **orients); 262CEED_EXTERN int CeedElemRestrictionRestoreOrientations(CeedElemRestriction rstr, const bool **orients); 263CEED_EXTERN int CeedElemRestrictionGetCurlOrientations(CeedElemRestriction rstr, CeedMemType mem_type, const CeedInt8 **curl_orients); 264CEED_EXTERN int CeedElemRestrictionRestoreCurlOrientations(CeedElemRestriction rstr, const CeedInt8 **curl_orients); | 78/** 79 This enum supples common colors for CeedDebug256 debugging output. 80 Set the environment variable `CEED_DEBUG = 1` to activate debugging output. 81 82 @ingroup Ceed 83 @ref Backend 84**/ 85typedef enum { --- 188 unchanged lines hidden (view full) --- 274CEED_EXTERN int CeedElemRestrictionGetStrides(CeedElemRestriction rstr, CeedInt (*strides)[3]); 275CEED_EXTERN int CeedElemRestrictionHasBackendStrides(CeedElemRestriction rstr, bool *has_backend_strides); 276CEED_EXTERN int CeedElemRestrictionGetOffsets(CeedElemRestriction rstr, CeedMemType mem_type, const CeedInt **offsets); 277CEED_EXTERN int CeedElemRestrictionRestoreOffsets(CeedElemRestriction rstr, const CeedInt **offsets); 278CEED_EXTERN int CeedElemRestrictionGetOrientations(CeedElemRestriction rstr, CeedMemType mem_type, const bool **orients); 279CEED_EXTERN int CeedElemRestrictionRestoreOrientations(CeedElemRestriction rstr, const bool **orients); 280CEED_EXTERN int CeedElemRestrictionGetCurlOrientations(CeedElemRestriction rstr, CeedMemType mem_type, const CeedInt8 **curl_orients); 281CEED_EXTERN int CeedElemRestrictionRestoreCurlOrientations(CeedElemRestriction rstr, const CeedInt8 **curl_orients); |
| 282CEED_EXTERN int CeedElemRestrictionGetNumPointsInElement(CeedElemRestriction rstr, CeedInt elem, CeedInt *num_points); |
|
| 265CEED_EXTERN int CeedElemRestrictionGetELayout(CeedElemRestriction rstr, CeedInt (*layout)[3]); 266CEED_EXTERN int CeedElemRestrictionSetELayout(CeedElemRestriction rstr, CeedInt layout[3]); 267CEED_EXTERN int CeedElemRestrictionGetData(CeedElemRestriction rstr, void *data); 268CEED_EXTERN int CeedElemRestrictionSetData(CeedElemRestriction rstr, void *data); 269CEED_EXTERN int CeedElemRestrictionReference(CeedElemRestriction rstr); 270CEED_EXTERN int CeedElemRestrictionGetFlopsEstimate(CeedElemRestriction rstr, CeedTransposeMode t_mode, CeedSize *flops); 271 272/// Type of FE space; --- 127 unchanged lines hidden --- | 283CEED_EXTERN int CeedElemRestrictionGetELayout(CeedElemRestriction rstr, CeedInt (*layout)[3]); 284CEED_EXTERN int CeedElemRestrictionSetELayout(CeedElemRestriction rstr, CeedInt layout[3]); 285CEED_EXTERN int CeedElemRestrictionGetData(CeedElemRestriction rstr, void *data); 286CEED_EXTERN int CeedElemRestrictionSetData(CeedElemRestriction rstr, void *data); 287CEED_EXTERN int CeedElemRestrictionReference(CeedElemRestriction rstr); 288CEED_EXTERN int CeedElemRestrictionGetFlopsEstimate(CeedElemRestriction rstr, CeedTransposeMode t_mode, CeedSize *flops); 289 290/// Type of FE space; --- 127 unchanged lines hidden --- |