Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
Actor Framework
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
cpp-libs
Actor Framework
Commits
8d91ddb7
Commit
8d91ddb7
authored
Aug 28, 2013
by
Joseph Noir
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
shortened signature of add_arguments_...
arguments are part of the class anyway, no need to pass them around
parent
813ef663
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
21 deletions
+9
-21
libcaf_opencl/cppa/opencl/actor_facade.hpp
libcaf_opencl/cppa/opencl/actor_facade.hpp
+9
-21
No files found.
libcaf_opencl/cppa/opencl/actor_facade.hpp
View file @
8d91ddb7
...
...
@@ -157,8 +157,6 @@ class actor_facade<Ret(Args...)> : public actor {
1
,
std
::
multiplies
<
size_t
>
{});
std
::
vector
<
mem_ptr
>
arguments
;
add_arguments_to_kernel
<
Ret
>
(
arguments
,
m_context
.
get
(),
m_kernel
.
get
(),
ret_size
,
get_ref
<
Is
>
(
*
opt
)...);
auto
cmd
=
make_counted
<
command_impl
<
actor_facade
,
Ret
>>
(
handle
,
...
...
@@ -182,19 +180,17 @@ class actor_facade<Ret(Args...)> : public actor {
arg_mapping
m_map_args
;
result_mapping
m_map_result
;
void
add_arguments_to_kernel_rec
(
args_vec
&
arguments
,
cl_context
,
cl_kernel
kernel
)
{
void
add_arguments_to_kernel_rec
(
args_vec
&
arguments
)
{
cl_int
err
{
0
};
for
(
size_t
i
=
1
;
i
<
arguments
.
size
();
++
i
)
{
err
=
clSetKernelArg
(
kernel
,
err
=
clSetKernelArg
(
m_kernel
.
get
()
,
(
i
-
1
),
sizeof
(
cl_mem
),
static_cast
<
void
*>
(
&
arguments
[
i
]));
CPPA_LOG_ERROR_IF
(
err
!=
CL_SUCCESS
,
"clSetKernelArg: "
<<
get_opencl_error
(
err
));
}
err
=
clSetKernelArg
(
kernel
,
err
=
clSetKernelArg
(
m_kernel
.
get
()
,
arguments
.
size
()
-
1
,
sizeof
(
cl_mem
),
static_cast
<
void
*>
(
&
arguments
[
0
]));
...
...
@@ -203,13 +199,10 @@ class actor_facade<Ret(Args...)> : public actor {
}
template
<
typename
T0
,
typename
...
Ts
>
void
add_arguments_to_kernel_rec
(
args_vec
&
arguments
,
cl_context
context
,
cl_kernel
kernel
,
T0
&
arg0
,
Ts
&
...
args
)
{
void
add_arguments_to_kernel_rec
(
args_vec
&
arguments
,
T0
&
arg0
,
Ts
&
...
args
)
{
cl_int
err
{
0
};
auto
buf
=
clCreateBuffer
(
context
,
auto
buf
=
clCreateBuffer
(
m_context
.
get
()
,
CL_MEM_READ_ONLY
|
CL_MEM_COPY_HOST_PTR
,
sizeof
(
typename
T0
::
value_type
)
*
arg0
.
size
(),
arg0
.
data
(),
...
...
@@ -221,19 +214,17 @@ class actor_facade<Ret(Args...)> : public actor {
mem_ptr
tmp
;
tmp
.
adopt
(
std
::
move
(
buf
));
arguments
.
push_back
(
tmp
);
add_arguments_to_kernel_rec
(
arguments
,
context
,
kernel
,
args
...);
add_arguments_to_kernel_rec
(
arguments
,
args
...);
}
}
template
<
typename
R
,
typename
...
Ts
>
void
add_arguments_to_kernel
(
args_vec
&
arguments
,
cl_context
context
,
cl_kernel
kernel
,
size_t
ret_size
,
Ts
&&
...
args
)
{
arguments
.
clear
();
cl_int
err
{
0
};
auto
buf
=
clCreateBuffer
(
context
,
auto
buf
=
clCreateBuffer
(
m_context
.
get
()
,
CL_MEM_WRITE_ONLY
,
sizeof
(
typename
R
::
value_type
)
*
ret_size
,
nullptr
,
...
...
@@ -245,10 +236,7 @@ class actor_facade<Ret(Args...)> : public actor {
mem_ptr
tmp
;
tmp
.
adopt
(
std
::
move
(
buf
));
arguments
.
push_back
(
tmp
);
add_arguments_to_kernel_rec
(
arguments
,
context
,
kernel
,
std
::
forward
<
Ts
>
(
args
)...);
add_arguments_to_kernel_rec
(
arguments
,
std
::
forward
<
Ts
>
(
args
)...);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment