1 // Copyright (c) 2017-2025, 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 #include <ceed-impl.h> 9 #include <ceed.h> 10 #include <ceed/backend.h> 11 #include <ceed/hip.h> 12 #include <hip/hip_runtime_api.h> 13 14 /** 15 @brief Set HIP function pointer to evaluate action at quadrature points 16 17 @param[in,out] qf `CeedQFunction` to set device pointer 18 @param[in] f Device function pointer to evaluate action at quadrature points 19 20 @return An error code: 0 - success, otherwise - failure 21 22 @ref User 23 **/ 24 int CeedQFunctionSetHIPUserFunction(CeedQFunction qf, hipFunction_t f) { 25 if (!qf->SetHIPUserFunction) { 26 CeedDebug(CeedQFunctionReturnCeed(qf), "Backend does not support hipFunction_t pointers for QFunctions."); 27 } else { 28 CeedCall(qf->SetHIPUserFunction(qf, f)); 29 } 30 return CEED_ERROR_SUCCESS; 31 } 32