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-2013 Université de Bordeaux 1
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
68
#ifdef __cplusplus
69
extern
"C"
70
{
71
#endif
72
73
#ifdef STARPU_SIMGRID
74
#define main starpu_main
75
#endif
76
77
struct
starpu_conf
78
{
79
int
magic
;
80
const
char
*
sched_policy_name
;
81
82
struct
starpu_sched_policy
*
sched_policy
;
83
84
int
ncpus
;
85
int
ncuda
;
86
int
nopencl
;
87
88
unsigned
use_explicit_workers_bindid
;
89
unsigned
workers_bindid
[
STARPU_NMAXWORKERS
];
90
91
unsigned
use_explicit_workers_cuda_gpuid
;
92
unsigned
workers_cuda_gpuid
[
STARPU_NMAXWORKERS
];
93
94
unsigned
use_explicit_workers_opencl_gpuid
;
95
unsigned
workers_opencl_gpuid
[
STARPU_NMAXWORKERS
];
96
97
int
bus_calibrate
;
98
int
calibrate
;
99
100
int
single_combined_worker
;
101
102
int
disable_asynchronous_copy
;
103
int
disable_asynchronous_cuda_copy
;
104
int
disable_asynchronous_opencl_copy
;
105
unsigned
*
cuda_opengl_interoperability
;
106
unsigned
n_cuda_opengl_interoperability;
107
108
struct
starpu_driver
*
not_launched_drivers
;
109
unsigned
n_not_launched_drivers
;
110
111
unsigned
trace_buffer_size
;
112
};
113
114
int
starpu_conf_init
(
struct
starpu_conf
*conf);
115
116
int
starpu_init
(
struct
starpu_conf
*conf)
STARPU_WARN_UNUSED_RESULT
;
117
118
void
starpu_pause
();
119
void
starpu_resume
();
120
121
void
starpu_shutdown
(
void
);
122
123
void
starpu_topology_print
(FILE *f);
124
125
int
starpu_asynchronous_copy_disabled
(
void
);
126
int
starpu_asynchronous_cuda_copy_disabled
(
void
);
127
int
starpu_asynchronous_opencl_copy_disabled
(
void
);
128
129
void
starpu_display_stats();
130
131
void
starpu_get_version
(
int
*major,
int
*minor,
int
*release);
132
133
#ifdef __cplusplus
134
}
135
#endif
136
137
#include "
starpu_deprecated_api.h
"
138
139
#endif
/* __STARPU_H__ */
Generated on Tue Jun 3 2014 14:12:58 for StarPU Handbook by
1.8.1.2