StarPU Handbook
 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-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 
75 {
76  int magic;
77  const char *sched_policy_name;
78 
80 
81  int ncpus;
82  int ncuda;
83  int nopencl;
84 
87 
90 
93 
95  int calibrate;
96 
98 
103  unsigned n_cuda_opengl_interoperability;
104 
107 
109 };
110 
111 int starpu_conf_init(struct starpu_conf *conf);
112 
114 
115 void starpu_pause();
116 void starpu_resume();
117 
118 void starpu_shutdown(void);
119 
120 void starpu_topology_print(FILE *f);
121 
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__ */