StarPU Handbook
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Groups
Pages
include
starpu_data_filters.h
Go to the documentation of this file.
1
/* StarPU --- Runtime system for heterogeneous multicore architectures.
2
*
3
* Copyright (C) 2010-2012 Université de Bordeaux
4
* Copyright (C) 2010 Mehdi Juhoor <mjuhoor@gmail.com>
5
* Copyright (C) 2010, 2011, 2012, 2013 Centre National de la Recherche Scientifique
6
*
7
* StarPU is free software; you can redistribute it and/or modify
8
* it under the terms of the GNU Lesser General Public License as published by
9
* the Free Software Foundation; either version 2.1 of the License, or (at
10
* your option) any later version.
11
*
12
* StarPU is distributed in the hope that it will be useful, but
13
* WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15
*
16
* See the GNU Lesser General Public License in COPYING.LGPL for more details.
17
*/
18
19
#ifndef __STARPU_DATA_FILTERS_H__
20
#define __STARPU_DATA_FILTERS_H__
21
22
#include <
starpu.h
>
23
#include <stdarg.h>
24
25
#ifdef __cplusplus
26
extern
"C"
27
{
28
#endif
29
30
struct
starpu_data_interface_ops
;
31
32
struct
starpu_data_filter
33
{
34
void (*
filter_func
)(
void
*father_interface,
void
*child_interface,
struct
starpu_data_filter
*,
unsigned
id,
unsigned
nparts);
35
unsigned
nchildren
;
36
unsigned (*
get_nchildren
)(
struct
starpu_data_filter
*,
starpu_data_handle_t
initial_handle);
37
struct
starpu_data_interface_ops
*(*get_child_ops)(
struct
starpu_data_filter
*,
unsigned
id);
38
unsigned
filter_arg
;
39
void
*
filter_arg_ptr
;
40
};
41
42
void
starpu_data_partition
(
starpu_data_handle_t
initial_handle,
struct
starpu_data_filter
*f);
43
void
starpu_data_unpartition
(
starpu_data_handle_t
root_data,
unsigned
gathering_node);
44
45
int
starpu_data_get_nb_children
(
starpu_data_handle_t
handle);
46
starpu_data_handle_t
starpu_data_get_child
(
starpu_data_handle_t
handle,
unsigned
i);
47
48
starpu_data_handle_t
starpu_data_get_sub_data
(
starpu_data_handle_t
root_data,
unsigned
depth, ... );
49
starpu_data_handle_t
starpu_data_vget_sub_data
(
starpu_data_handle_t
root_data,
unsigned
depth, va_list pa);
50
51
void
starpu_data_map_filters
(
starpu_data_handle_t
root_data,
unsigned
nfilters, ...);
52
void
starpu_data_vmap_filters
(
starpu_data_handle_t
root_data,
unsigned
nfilters, va_list pa);
53
54
void
starpu_bcsr_filter_canonical_block
(
void
*father_interface,
void
*child_interface,
struct
starpu_data_filter
*f,
unsigned
id
,
unsigned
nparts);
55
void
starpu_csr_filter_vertical_block
(
void
*father_interface,
void
*child_interface,
struct
starpu_data_filter
*f,
unsigned
id
,
unsigned
nparts);
56
57
void
starpu_matrix_filter_block
(
void
*father_interface,
void
*child_interface,
struct
starpu_data_filter
*f,
unsigned
id
,
unsigned
nparts);
58
void
starpu_matrix_filter_block_shadow
(
void
*father_interface,
void
*child_interface,
struct
starpu_data_filter
*f,
unsigned
id
,
unsigned
nparts);
59
void
starpu_matrix_filter_vertical_block
(
void
*father_interface,
void
*child_interface,
struct
starpu_data_filter
*f,
unsigned
id
,
unsigned
nparts);
60
void
starpu_matrix_filter_vertical_block_shadow
(
void
*father_interface,
void
*child_interface,
struct
starpu_data_filter
*f,
unsigned
id
,
unsigned
nparts);
61
62
void
starpu_vector_filter_block
(
void
*father_interface,
void
*child_interface,
struct
starpu_data_filter
*f,
unsigned
id
,
unsigned
nparts);
63
void
starpu_vector_filter_block_shadow
(
void
*father_interface,
void
*child_interface,
struct
starpu_data_filter
*f,
unsigned
id
,
unsigned
nparts);
64
void
starpu_vector_filter_list
(
void
*father_interface,
void
*child_interface,
struct
starpu_data_filter
*f,
unsigned
id
,
unsigned
nparts);
65
void
starpu_vector_filter_divide_in_2
(
void
*father_interface,
void
*child_interface,
struct
starpu_data_filter
*f,
unsigned
id
,
unsigned
nparts);
66
67
void
starpu_block_filter_block
(
void
*father_interface,
void
*child_interface,
struct
starpu_data_filter
*f,
unsigned
id
,
unsigned
nparts);
68
void
starpu_block_filter_block_shadow
(
void
*father_interface,
void
*child_interface,
struct
starpu_data_filter
*f,
unsigned
id
,
unsigned
nparts);
69
void
starpu_block_filter_vertical_block
(
void
*father_interface,
void
*child_interface,
struct
starpu_data_filter
*f,
unsigned
id
,
unsigned
nparts);
70
void
starpu_block_filter_vertical_block_shadow
(
void
*father_interface,
void
*child_interface,
struct
starpu_data_filter
*f,
unsigned
id
,
unsigned
nparts);
71
void
starpu_block_filter_depth_block
(
void
*father_interface,
void
*child_interface,
struct
starpu_data_filter
*f,
unsigned
id
,
unsigned
nparts);
72
void
starpu_block_filter_depth_block_shadow
(
void
*father_interface,
void
*child_interface,
struct
starpu_data_filter
*f,
unsigned
id
,
unsigned
nparts);
73
74
#ifdef __cplusplus
75
}
76
#endif
77
78
#endif
Generated on Wed Sep 2 2015 11:14:23 for StarPU Handbook by
1.8.1.2