StarPU Handbook
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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-2014 Centre National de la Recherche Scientifique
5  * Copyright (C) 2014 Inria
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_H__
20 #define __STARPU_H__
21 
22 #include <stdlib.h>
23 
24 #ifndef _MSC_VER
25 #include <stdint.h>
26 #else
27 #include <windows.h>
28 typedef unsigned char uint8_t;
29 typedef unsigned short uint16_t;
30 typedef unsigned int uint32_t;
31 typedef unsigned long long uint64_t;
32 typedef UINT_PTR uintptr_t;
33 #endif
34 
35 #include <starpu_config.h>
36 
37 #ifdef STARPU_HAVE_WINDOWS
38 #include <windows.h>
39 #endif
40 
41 #if defined(STARPU_USE_OPENCL) && !defined(__CUDACC__)
42 #include <starpu_opencl.h>
43 #endif
44 
45 #include <starpu_thread.h>
46 #include <starpu_thread_util.h>
47 #include <starpu_util.h>
48 #include <starpu_data.h>
49 #include <starpu_disk.h>
50 #include <starpu_data_interfaces.h>
51 #include <starpu_data_filters.h>
52 #include <starpu_stdlib.h>
53 #include <starpu_perfmodel.h>
54 #include <starpu_worker.h>
55 #include <starpu_task.h>
56 #include <starpu_task_list.h>
57 #include <starpu_task_util.h>
58 #include <starpu_sched_ctx.h>
59 #include <starpu_expert.h>
60 #include <starpu_rand.h>
61 #include <starpu_cuda.h>
62 #include <starpu_cublas.h>
63 #include <starpu_bound.h>
64 #include <starpu_hash.h>
65 #include <starpu_profiling.h>
66 #include <starpu_top.h>
67 #include <starpu_fxt.h>
68 #include <starpu_driver.h>
69 #include <starpu_tree.h>
70 #include <starpu_openmp.h>
71 #include <starpu_simgrid_wrap.h>
72 #include <starpu_bitmap.h>
73 
74 #ifdef __cplusplus
75 extern "C"
76 {
77 #endif
78 
80 {
81  int magic;
82  const char *sched_policy_name;
83 
85 
86  int ncpus;
87  int ncuda;
88  int nopencl;
89  int nmic;
90  int nscc;
91 
94 
97 
100 
103 
106 
109 
111 
113 
118 
121 
124 
126 };
127 
128 int starpu_conf_init(struct starpu_conf *conf);
129 
131 
132 int starpu_initialize(struct starpu_conf *user_conf, int *argc, char ***argv);
133 
134 void starpu_pause(void);
135 void starpu_resume(void);
136 
137 void starpu_shutdown(void);
138 
139 void starpu_topology_print(FILE *f);
140 
144 int starpu_asynchronous_mic_copy_disabled(void);
145 
146 void starpu_display_stats();
147 
148 void starpu_get_version(int *major, int *minor, int *release);
149 
150 #ifdef __cplusplus
151 }
152 #endif
153 
154 #include "starpu_deprecated_api.h"
155 
156 #endif /* __STARPU_H__ */
int disable_asynchronous_cuda_copy
Definition: starpu.h:115
void starpu_pause(void)
unsigned workers_mic_deviceid[STARPU_NMAXWORKERS]
Definition: starpu.h:102
int ncpus
Definition: starpu.h:86
int bus_calibrate
Definition: starpu.h:107
int starpu_asynchronous_opencl_copy_disabled(void)
int nmic
Definition: starpu.h:89
int disable_asynchronous_opencl_copy
Definition: starpu.h:116
Definition: starpu_driver.h:31
void starpu_resume(void)
int calibrate
Definition: starpu.h:108
Definition: starpu.h:79
unsigned workers_opencl_gpuid[STARPU_NMAXWORKERS]
Definition: starpu.h:99
int starpu_conf_init(struct starpu_conf *conf)
const char * sched_policy_name
Definition: starpu.h:82
int magic
Definition: starpu.h:81
unsigned * cuda_opengl_interoperability
Definition: starpu.h:119
void starpu_shutdown(void)
unsigned use_explicit_workers_bindid
Definition: starpu.h:92
void starpu_get_version(int *major, int *minor, int *release)
int starpu_init(struct starpu_conf *conf) STARPU_WARN_UNUSED_RESULT
unsigned use_explicit_workers_scc_deviceid
Definition: starpu.h:104
unsigned n_not_launched_drivers
Definition: starpu.h:123
void starpu_topology_print(FILE *f)
unsigned workers_cuda_gpuid[STARPU_NMAXWORKERS]
Definition: starpu.h:96
int starpu_asynchronous_cuda_copy_disabled(void)
int nopencl
Definition: starpu.h:88
unsigned use_explicit_workers_mic_deviceid
Definition: starpu.h:101
#define STARPU_NMAXWORKERS
Definition: starpu_config.h:90
int starpu_initialize(struct starpu_conf *user_conf, int *argc, char ***argv)
struct starpu_driver * not_launched_drivers
Definition: starpu.h:122
int disable_asynchronous_copy
Definition: starpu.h:114
struct starpu_sched_policy * sched_policy
Definition: starpu.h:84
unsigned use_explicit_workers_cuda_gpuid
Definition: starpu.h:95
unsigned n_cuda_opengl_interoperability
Definition: starpu.h:120
Definition: starpu_scheduler.h:30
#define STARPU_WARN_UNUSED_RESULT
Definition: starpu_util.h:79
int single_combined_worker
Definition: starpu.h:110
int disable_asynchronous_mic_copy
Definition: starpu.h:117
unsigned use_explicit_workers_opencl_gpuid
Definition: starpu.h:98
int nscc
Definition: starpu.h:90
int ncuda
Definition: starpu.h:87
int starpu_asynchronous_copy_disabled(void)
char * mic_sink_program_path
Definition: starpu.h:112
unsigned workers_scc_deviceid[STARPU_NMAXWORKERS]
Definition: starpu.h:105
unsigned workers_bindid[STARPU_NMAXWORKERS]
Definition: starpu.h:93
unsigned trace_buffer_size
Definition: starpu.h:125