StarPU Handbook

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
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__ */
starpu_conf::use_explicit_workers_opencl_gpuid
unsigned use_explicit_workers_opencl_gpuid
Definition: starpu.h:94
starpu_conf::cuda_opengl_interoperability
unsigned * cuda_opengl_interoperability
Definition: starpu.h:105
starpu_resume
void starpu_resume()
starpu_task.h
starpu_task_list.h
starpu_driver.h
starpu_conf::nopencl
int nopencl
Definition: starpu.h:86
starpu_conf::single_combined_worker
int single_combined_worker
Definition: starpu.h:100
starpu_conf::sched_policy_name
const char * sched_policy_name
Definition: starpu.h:80
starpu_asynchronous_opencl_copy_disabled
int starpu_asynchronous_opencl_copy_disabled(void)
starpu_conf::use_explicit_workers_bindid
unsigned use_explicit_workers_bindid
Definition: starpu.h:88
starpu_data.h
starpu_worker.h
starpu_conf::not_launched_drivers
struct starpu_driver * not_launched_drivers
Definition: starpu.h:108
starpu_conf::disable_asynchronous_opencl_copy
int disable_asynchronous_opencl_copy
Definition: starpu.h:104
starpu_driver
Definition: starpu_driver.h:31
starpu_perfmodel.h
starpu_conf::calibrate
int calibrate
Definition: starpu.h:98
starpu_conf
Definition: starpu.h:77
starpu_conf::bus_calibrate
int bus_calibrate
Definition: starpu.h:97
starpu_opencl.h
starpu_conf_init
int starpu_conf_init(struct starpu_conf *conf)
starpu_sched_ctx.h
starpu_bound.h
starpu_profiling.h
starpu_cublas.h
starpu_conf::disable_asynchronous_copy
int disable_asynchronous_copy
Definition: starpu.h:102
starpu_shutdown
void starpu_shutdown(void)
starpu_get_version
void starpu_get_version(int *major, int *minor, int *release)
starpu_data_interfaces.h
starpu_expert.h
starpu_conf::disable_asynchronous_cuda_copy
int disable_asynchronous_cuda_copy
Definition: starpu.h:103
starpu_conf::ncuda
int ncuda
Definition: starpu.h:85
starpu_conf::sched_policy
struct starpu_sched_policy * sched_policy
Definition: starpu.h:82
starpu_init
int starpu_init(struct starpu_conf *conf) STARPU_WARN_UNUSED_RESULT
starpu_conf::ncpus
int ncpus
Definition: starpu.h:84
starpu_conf::workers_bindid
unsigned workers_bindid[STARPU_NMAXWORKERS]
Definition: starpu.h:89
starpu_stdlib.h
starpu_topology_print
void starpu_topology_print(FILE *f)
starpu_deprecated_api.h
starpu_rand.h
starpu_util.h
starpu_asynchronous_cuda_copy_disabled
int starpu_asynchronous_cuda_copy_disabled(void)
STARPU_NMAXWORKERS
#define STARPU_NMAXWORKERS
Definition: starpu_config.h:74
starpu_conf::n_not_launched_drivers
unsigned n_not_launched_drivers
Definition: starpu.h:109
starpu_conf::magic
int magic
Definition: starpu.h:79
starpu_conf::workers_cuda_gpuid
unsigned workers_cuda_gpuid[STARPU_NMAXWORKERS]
Definition: starpu.h:92
starpu_top.h
starpu_conf::use_explicit_workers_cuda_gpuid
unsigned use_explicit_workers_cuda_gpuid
Definition: starpu.h:91
starpu_fxt.h
starpu_sched_policy
Definition: starpu_scheduler.h:30
starpu_config.h
STARPU_WARN_UNUSED_RESULT
#define STARPU_WARN_UNUSED_RESULT
Definition: starpu_util.h:79
starpu_data_filters.h
starpu_pause
void starpu_pause()
starpu_thread_util.h
starpu_cuda.h
starpu_asynchronous_copy_disabled
int starpu_asynchronous_copy_disabled(void)
starpu_task_util.h
starpu_conf::workers_opencl_gpuid
unsigned workers_opencl_gpuid[STARPU_NMAXWORKERS]
Definition: starpu.h:95
starpu_thread.h
starpu_hash.h
starpu_conf::trace_buffer_size
unsigned trace_buffer_size
Definition: starpu.h:111