Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
SYCLParallelEngine.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2024 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7
8#pragma once
9
10#include <alien/kernels/sycl/SYCLBackEnd.h>
11#include <alien/kernels/sycl/SYCLPrecomp.h>
12
13namespace Alien
14{
15namespace SYCLInternal
16{
17 struct EngineInternal;
18}
19
20class ALIEN_EXPORT SYCLControlGroupHandler ;
21
22class ALIEN_EXPORT SYCLParallelEngine
23{
24 public:
25 typedef SYCLInternal::EngineInternal InternalType ;
26
27 template<int dim> struct Item ;
28
29
30 SYCLParallelEngine() ;
31
32 virtual ~SYCLParallelEngine() ;
33
34 std::size_t maxNumThreads() const ;
35
36 template<typename LambdaT>
37 void submit(LambdaT lambda) ;
38
39 private :
40 std::unique_ptr<InternalType> m_internal ;
41 //InternalType* m_internal = nullptr ;
42
43} ;
44
45}
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Definition BackEnd.h:17