Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
sycl_handler.hpp
Go to the documentation of this file.
1// -------------------------------------------------------//
2//
3// SHAMROCK code for hydrodynamics
4// Copyright (c) 2021-2026 Timothée David--Cléris <tim.shamrock@proton.me>
5// SPDX-License-Identifier: CeCILL Free Software License Agreement v2.1
6// Shamrock is licensed under the CeCILL 2.1 License, see LICENSE for more information
7//
8// -------------------------------------------------------//
9
10#pragma once
11
19#include <sycl/sycl.hpp>
20
21class ShamrockSyclException : public std::exception {
22 public:
23 explicit ShamrockSyclException(const char *message) : msg_(message) {}
24
25 explicit ShamrockSyclException(const std::string &message) : msg_(message) {}
26
27 ~ShamrockSyclException() noexcept override = default;
28
29 [[nodiscard]]
30 const char *what() const noexcept override {
31 return msg_.c_str();
32 }
33
34 protected:
35 std::string msg_;
36};
37
38namespace sycl_handler {
39
40 // void init();
41 //
42 // sycl::queue &get_compute_queue();
43 // sycl::queue &get_alt_queue();
44
45} // namespace sycl_handler
This header file contains utility functions related to exception handling in the code.