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.h
Go to the documentation of this file.
1
/* StarPU --- Runtime system for heterogeneous multicore architectures.
2
*
3
* Copyright (C) 2009-2014 Université de Bordeaux
4
* Copyright (C) 2010-2013 Centre National de la Recherche Scientifique
5
*
6
* StarPU is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU Lesser General Public License as published by
8
* the Free Software Foundation; either version 2.1 of the License, or (at
9
* your option) any later version.
10
*
11
* StarPU is distributed in the hope that it will be useful, but
12
* WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
*
15
* See the GNU Lesser General Public License in COPYING.LGPL for more details.
16
*/
17
18
#ifndef __STARPU_H__
19
#define __STARPU_H__
20
21
#include <stdlib.h>
22
23
#ifndef _MSC_VER
24
#include <stdint.h>
25
#else
26
#include <windows.h>
27
typedef
unsigned
char
uint8_t;
28
typedef
unsigned
short
uint16_t;
29
typedef
unsigned
int
uint32_t;
30
typedef
unsigned
long
long
uint64_t;
31
typedef
UINT_PTR uintptr_t;
32
#endif
33
34
#include <
starpu_config.h
>
35
36
#ifdef STARPU_HAVE_WINDOWS
37
#include <windows.h>
38
#endif
39
40
#if defined(STARPU_USE_OPENCL) && !defined(__CUDACC__)
41
#include <
starpu_opencl.h
>
42
#endif
43
44
#include <
starpu_thread.h
>
45
#include <
starpu_thread_util.h
>
46
#include <
starpu_util.h
>
47
#include <
starpu_data.h
>
48
#include <
starpu_data_interfaces.h
>
49
#include <
starpu_data_filters.h
>
50
#include <
starpu_stdlib.h
>
51
#include <
starpu_perfmodel.h
>
52
#include <
starpu_worker.h
>
53
#include <
starpu_task.h
>
54
#include <
starpu_task_list.h
>
55
#include <
starpu_task_util.h
>
56
#include <
starpu_sched_ctx.h
>
57
#include <
starpu_expert.h
>
58
#include <
starpu_rand.h
>
59
#include <
starpu_cuda.h
>
60
#include <
starpu_cublas.h
>
61
#include <
starpu_bound.h
>
62
#include <
starpu_hash.h
>
63
#include <
starpu_profiling.h
>
64
#include <
starpu_top.h
>
65
#include <
starpu_fxt.h
>
66
#include <
starpu_driver.h
>
67
#include <starpu_simgrid_wrap.h>
68
69
#ifdef __cplusplus
70
extern
"C"
71
{
72
#endif
73
74
struct
starpu_conf
75
{
76
int
magic
;
77
const
char
*
sched_policy_name
;
78
79
struct
starpu_sched_policy
*
sched_policy
;
80
81
int
ncpus
;
82
int
ncuda
;
83
int
nopencl
;
84
85
unsigned
use_explicit_workers_bindid
;
86
unsigned
workers_bindid
[
STARPU_NMAXWORKERS
];
87
88
unsigned
use_explicit_workers_cuda_gpuid
;
89
unsigned
workers_cuda_gpuid
[
STARPU_NMAXWORKERS
];
90
91
unsigned
use_explicit_workers_opencl_gpuid
;
92
unsigned
workers_opencl_gpuid
[
STARPU_NMAXWORKERS
];
93
94
int
bus_calibrate
;
95
int
calibrate
;
96
97
int
single_combined_worker
;
98
99
int
disable_asynchronous_copy
;
100
int
disable_asynchronous_cuda_copy
;
101
int
disable_asynchronous_opencl_copy
;
102
unsigned
*
cuda_opengl_interoperability
;
103
unsigned
n_cuda_opengl_interoperability;
104
105
struct
starpu_driver
*
not_launched_drivers
;
106
unsigned
n_not_launched_drivers
;
107
108
unsigned
trace_buffer_size
;
109
};
110
111
int
starpu_conf_init
(
struct
starpu_conf
*conf);
112
113
int
starpu_init
(
struct
starpu_conf
*conf)
STARPU_WARN_UNUSED_RESULT
;
114
115
void
starpu_pause
();
116
void
starpu_resume
();
117
118
void
starpu_shutdown
(
void
);
119
120
void
starpu_topology_print
(FILE *f);
121
122
int
starpu_asynchronous_copy_disabled
(
void
);
123
int
starpu_asynchronous_cuda_copy_disabled
(
void
);
124
int
starpu_asynchronous_opencl_copy_disabled
(
void
);
125
126
void
starpu_display_stats();
127
128
void
starpu_get_version
(
int
*major,
int
*minor,
int
*release);
129
130
#ifdef __cplusplus
131
}
132
#endif
133
134
#include "
starpu_deprecated_api.h
"
135
136
#endif
/* __STARPU_H__ */
Generated on Mon Mar 9 2015 18:32:05 for StarPU Handbook by
1.8.1.2