Mise à jour terminée. Pour connaître les apports de la version 13.8.4 par rapport à notre ancienne version vous pouvez lire les "Release Notes" suivantes :
https://about.gitlab.com/releases/2021/02/11/security-release-gitlab-13-8-4-released/
https://about.gitlab.com/releases/2021/02/05/gitlab-13-8-3-released/

starpu_codelet_parameters.h 7.56 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11
#ifndef __STARPU_CODELET_PARAMETERS_H__
#define __STARPU_CODELET_PARAMETERS_H__

#include <starpu.h>
#include "../StarPUUtils/FStarPUUtils.hpp"

#ifdef __cplusplus
extern "C"
{
#endif

12 13 14 15 16
/* P2P */
static const char *p2p_cl_in_parameters_names[] = { "NbLeavesBlock", "SizeInterval", "NbParticlesGroup", "NbInteractions" };
static unsigned p2p_cl_in_combi1 [4] = { 0, 0, 1, 0 };
static unsigned p2p_cl_in_combi2 [4] = { 0, 0, 0, 1 };
static unsigned *p2p_cl_in_combinations[] = { p2p_cl_in_combi1, p2p_cl_in_combi2 };
17 18 19 20 21 22
static inline void p2p_cl_in_perf_func(struct starpu_task *task, double *parameters){
  FStarPUPtrInterface* wrapperptr;
  int i;
  starpu_codelet_unpack_args(task->cl_arg,
	  	  	  	  &wrapperptr,
				  &i,
23 24 25 26
			       	  &parameters[0],
                                  &parameters[1],
			      	  &parameters[2],
				  &parameters[3]);
27 28
}

29 30 31 32 33 34 35 36 37 38
/* P2P_out */
  static const char *p2p_cl_inout_parameters_names[] = { "NbLeavesBlock", "SizeInterval", "NbParticlesGroup", "iNbLeavesBlock", "iSizeInterval", "iNBParticlesGroup", "OutsideInteractionsSize", "NbDiff0", "NbDiff1", "NbInteractions" };
static unsigned p2p_cl_inout_combi1 [10] = { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 };
static unsigned p2p_cl_inout_combi2 [10] = { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 };
static unsigned p2p_cl_inout_combi3 [10] = { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 };
static unsigned p2p_cl_inout_combi4 [10] = { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 };
static unsigned p2p_cl_inout_combi5 [10] = { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 };
static unsigned p2p_cl_inout_combi6 [10] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 };
static unsigned p2p_cl_inout_combi7 [10] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 };
static unsigned *p2p_cl_inout_combinations[] = { p2p_cl_inout_combi1, p2p_cl_inout_combi2, p2p_cl_inout_combi3, p2p_cl_inout_combi4, p2p_cl_inout_combi5, p2p_cl_inout_combi6, p2p_cl_inout_combi7 };
39 40 41 42 43 44 45 46 47
static inline void p2p_cl_inout_perf_func(struct starpu_task *task, double *parameters){
  FStarPUPtrInterface* wrapperptr;
  std::vector<OutOfBlockInteraction>* outsideInteractions;
  int i;
  starpu_codelet_unpack_args(task->cl_arg,
      	  	  	  	  &wrapperptr,
				  &outsideInteractions,
				  &i,
				  &parameters[0],
48 49 50 51 52
                                  &parameters[1],
			      	  &parameters[2],
			     	  &parameters[3],
			     	  &parameters[4],
			     	  &parameters[5],
53 54 55 56
			       	  &parameters[6],
			     	  &parameters[7],
			     	  &parameters[8],
			          &parameters[9]);
57 58
}

59 60 61 62
/* P2M */
static const char *p2m_cl_parameters_names[] = { "NbCellsBlock", "SizeInterval", "NbParticlesGroup" };
static unsigned p2m_cl_combi1 [3] = { 0, 0, 1 };
static unsigned *p2m_cl_combinations[] = { p2m_cl_combi1 };
63 64
static inline void p2m_cl_perf_func(struct starpu_task *task, double *parameters){
  FStarPUPtrInterface* wrapperptr;
65
  int i;
66 67 68
  starpu_codelet_unpack_args(task->cl_arg,
      	  	  	  	  &wrapperptr,
				  &i,
69 70
			       	  &parameters[0],
                                  &parameters[1],
71
				  &parameters[2]);
72 73
}
  
74 75 76 77 78
/* M2M */
static const char *m2m_cl_parameters_names[] = { "Lvl", "NbCellsBlock", "SizeInterval", "NbCellsBlockLvl+1", "SizeIntervalLvl+1", "NbDiff", "NbChildParent" };
static unsigned m2m_cl_combi1 [7] = { 0, 0, 0, 0, 0, 1, 0 };
static unsigned m2m_cl_combi2 [7] = { 0, 0, 0, 0, 1, 1, 0 };
static unsigned *m2m_cl_combinations[] = { m2m_cl_combi1, m2m_cl_combi2 };
79 80 81 82 83 84 85
static inline void m2m_cl_perf_func(struct starpu_task *task, double *parameters){
  FStarPUPtrInterface* wrapperptr;
  int idxLevel, i;
  starpu_codelet_unpack_args(task->cl_arg,
      	  	  	  	  &wrapperptr,
				  &idxLevel,
				  &i,
86 87 88 89 90 91 92
				  &parameters[0],
                                  &parameters[1],
			      	  &parameters[2],
			     	  &parameters[3],
			     	  &parameters[4],
			     	  &parameters[5],
                                  &parameters[6]);
93 94
}
  
95 96 97 98
/* M2L */
static const char *m2l_cl_in_parameters_names[] = { "Lvl", "NbLeavesBlock", "SizeInterval", "NbM2LInteractions" };
static unsigned m2l_cl_in_combi1 [4] = { 0, 0, 0, 1 };
static unsigned *m2l_cl_in_combinations[] = { m2l_cl_in_combi1 };
99 100 101 102 103 104 105 106
static inline void m2l_cl_in_perf_func(struct starpu_task *task, double *parameters){
  FStarPUPtrInterface* wrapperptr;
  int idxLevel, i;
  starpu_codelet_unpack_args(task->cl_arg,
      	  	  	  	  &wrapperptr,
				  &idxLevel,
				  &i,
			     	  &parameters[0],
107 108 109
     			     	  &parameters[1],
     			     	  &parameters[2],
				  &parameters[3]);
110 111
}

112 113 114 115 116
/* M2L_out */
static const char *m2l_cl_inout_parameters_names[] = { "Lvl", "NbLeavesBlock", "SizeInterval", "iNbLeavesBlock", "iSizeInterval", "OutsideInteractionsSize", "NbDiff0", "NbDiff1" };
static unsigned m2l_cl_inout_combi1 [8] = { 0, 0, 0, 0, 0, 1, 0, 0 };
static unsigned m2l_cl_inout_combi2 [8] = { 0, 0, 0, 0, 0, 0, 1, 0 };
static unsigned *m2l_cl_inout_combinations[] = { m2l_cl_inout_combi1, m2l_cl_inout_combi2 };
117 118 119 120 121 122 123 124 125 126
static inline void m2l_cl_inout_perf_func(struct starpu_task *task, double *parameters){
  FStarPUPtrInterface* wrapperptr;
  const std::vector<OutOfBlockInteraction>* outsideInteractions;
  int idxLevel, i, m;
  starpu_codelet_unpack_args(task->cl_arg,
      	  	  	  	  &wrapperptr,
				  &idxLevel,
			          &outsideInteractions,
				  &i,
                                  &m,
127 128 129 130 131 132 133 134
				  &parameters[0],
                                  &parameters[1],
			      	  &parameters[2],
			     	  &parameters[3],
			     	  &parameters[4],
			     	  &parameters[5],
			      	  &parameters[6],
                                  &parameters[7]);
135 136
}

137 138 139 140
/* L2L */
static const char *l2l_cl_parameters_names[] = { "Lvl", "NbCellsBlock", "SizeInterval", "NbCellsBlockLvl+1", "SizeIntervalLvl+1", "NbDiff", "NbChildParent" };
static unsigned l2l_cl_combi1 [7] = { 0, 0, 0, 0, 0, 1, 0 };
static unsigned *l2l_cl_combinations[] = { l2l_cl_combi1 };
141 142 143 144 145 146 147
static inline void l2l_cl_perf_func(struct starpu_task *task, double *parameters){
  FStarPUPtrInterface* wrapperptr;
  int idxLevel, i;
  starpu_codelet_unpack_args(task->cl_arg,
      	  	  	  	  &wrapperptr,
				  &idxLevel,
				  &i,
148 149 150 151 152 153 154
				  &parameters[0],
                                  &parameters[1],
			      	  &parameters[2],
			     	  &parameters[3],
			     	  &parameters[4],
			     	  &parameters[5],
                                  &parameters[6]);
155 156
}

157 158 159 160
/* L2L_NOCOMMUTE */
static const char *l2l_cl_nocommute_parameters_names[] = { "Lvl", "NbCellsBlock", "SizeInterval", "NbCellsBlockLvl+1", "SizeIntervalLvl+1", "NbDiff", "NbChildParent" };
static unsigned l2l_cl_nocommute_combi1 [7] = { 0, 0, 0, 0, 0, 1, 0 };
static unsigned *l2l_cl_nocommute_combinations[] = { l2l_cl_nocommute_combi1 };
161 162 163 164 165 166 167 168
static inline void l2l_cl_nocommute_perf_func(struct starpu_task *task, double *parameters){
  FStarPUPtrInterface* wrapperptr;
  int idxLevel, i;
  starpu_codelet_unpack_args(task->cl_arg,
      	  	  	  	  &wrapperptr,
				  &idxLevel,
				  &i,
			     	  &parameters[0],
169 170 171 172 173 174
                                  &parameters[1],
			      	  &parameters[2],
			     	  &parameters[3],
			     	  &parameters[4],
			     	  &parameters[5],
                                  &parameters[6]);
175 176
}

177 178 179 180
/* L2P */
static const char *l2p_cl_parameters_names[] = { "NbCellsBlock", "SizeInterval", "NbParticlesGroup" };
static unsigned l2p_cl_combi1 [3] = { 0, 0, 1 };
static unsigned *l2p_cl_combinations[] = { l2p_cl_combi1 };
181 182 183 184 185 186
static inline void l2p_cl_perf_func(struct starpu_task *task, double *parameters){
  FStarPUPtrInterface* wrapperptr;
  int i;
  starpu_codelet_unpack_args(task->cl_arg,
      	  	  	  	  &wrapperptr,
				  &i,
187 188 189 190
			      	  &parameters[0],
                                  &parameters[1],
			      	  &parameters[2],
			     	  &parameters[3]);
191 192 193 194 195 196 197
}
  
#ifdef __cplusplus
}
#endif

#endif /* __STARPU_CODELET_PARAMETERS_H__ */