C++ API Reference for Intel® Data Analytics Acceleration Library 2020 Update 1

daal_defines.h
Go to the documentation of this file.
1 /* file: daal_defines.h */
2 /*******************************************************************************
3 * Copyright 2014-2020 Intel Corporation
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *******************************************************************************/
17 
18 /*
19 //++
20 // Common definitions.
21 //--
22 */
23 
24 #ifndef __DAAL_DEFINES_H__
25 #define __DAAL_DEFINES_H__
26 
29 #include <cstddef> // for size_t
30 
31 #if defined(_WIN32) || defined(_WIN64)
32  #ifdef __DAAL_IMPLEMENTATION
33  #define DAAL_EXPORT __declspec( dllexport )
34  #else
35  #define DAAL_EXPORT
36  #endif
37 #else
38  #define DAAL_EXPORT
39 #endif
40 
41 #if (defined(__INTEL_CXX11_MODE__) || __cplusplus > 199711L)
42  #define DAAL_C11_OVERRIDE override
43 #else
44  #define DAAL_C11_OVERRIDE
45 #endif
46 
47 /* Intel(R) DAAL 64-bit integer types */
48 #if (!defined(__INTEL_COMPILER)) & defined(_MSC_VER)
49  #define DAAL_INT64 __int64
50  #define DAAL_UINT64 unsigned __int64
51 #else
52  #define DAAL_INT64 long long int
53  #define DAAL_UINT64 unsigned long long int
54 #endif
55 
56 #if !defined(DAAL_INT)
57  #if defined(_WIN64) || defined(__x86_64__)
58  #define DAAL_INT __int64
59  #else
60  #define DAAL_INT __int32
61  #endif
62 #endif
63 
64 #if defined(DAAL_HIDE_DEPRECATED)
65  #define DAAL_DEPRECATED
66 #else
67  #ifdef __GNUC__
68  #define DAAL_DEPRECATED __attribute__ ((deprecated))
69  #elif defined(_MSC_VER)
70  #define DAAL_DEPRECATED __declspec(deprecated)
71  #else
72  #define DAAL_DEPRECATED
73  #endif
74 #endif
75 
76 #if defined(DAAL_HIDE_DEPRECATED)
77  #define DAAL_DEPRECATED_VIRTUAL
78 #else
79  #ifdef __INTEL_COMPILER
80  #define DAAL_DEPRECATED_VIRTUAL DAAL_DEPRECATED
81  #else
82  #define DAAL_DEPRECATED_VIRTUAL
83  #endif
84 #endif
85 
86 #if defined(_MSC_VER)
87  #define DAAL_FORCEINLINE __forceinline
88 #else
89  #define DAAL_FORCEINLINE inline __attribute__((always_inline))
90 #endif
91 
92 #if defined(__APPLE__)
93  #define DAAL_CPU_TOPO_DISABLED
94  #define DAAL_THREAD_PINNING_DISABLED
95 #endif
96 
97 #if defined(DAAL_CPU_TOPO_DISABLED)
98  #define DAAL_THREAD_PINNING_DISABLED
99 #endif
100 
104 namespace daal
105 {
110 enum ComputeMode
111 {
112  batch = 1,
113  distributed = 2,
114  online = 4
115 };
116 
121 enum ComputeStep
122 {
123  step1Local = 0,
124  step2Master = 1,
125  step3Local = 2,
126  step4Local = 3,
128  step2Local = 5,
129  step3Master = 6,
130  step5Master = 7,
132  step5Local = 8,
133  step6Local = 9,
134  step7Master = 10,
135  step8Local = 11,
136  step9Master = 12,
137  step10Local = 13,
138  step11Local = 14,
139  step12Local = 15,
140  step13Local = 16
141 };
142 
147 enum MemType
148 {
149  dram = 0,
150  mcdram = 1
151 };
152 
153 typedef unsigned char byte;
154 
159 template<class U, class V> struct IsSameType
160 { static const bool value = false; };
161 
166 template<class U> struct IsSameType<U, U>
167 { static const bool value = true; };
168 
169 const size_t DAAL_MALLOC_DEFAULT_ALIGNMENT = 64;
170 
171 const int SERIALIZATION_HOMOGEN_NT_ID = 1000;
172 const int SERIALIZATION_AOS_NT_ID = 3000;
173 const int SERIALIZATION_SOA_NT_ID = 3001;
174 const int SERIALIZATION_ARROW_IMMUTABLE_NT_ID = 3002;
175 const int SERIALIZATION_DATACOLLECTION_ID = 4000;
176 const int SERIALIZATION_KEYVALUEDATACOLLECTION_ID = 4010;
177 const int SERIALIZATION_DATAFEATURE_NT_ID = 5000;
178 const int SERIALIZATION_DATADICTIONARY_NT_ID = 6000;
179 const int SERIALIZATION_DATADICTIONARY_DS_ID = 6010;
180 const int SERIALIZATION_MATRIX_NT_ID = 7000;
181 const int SERIALIZATION_CSR_NT_ID = 8000;
182 const int SERIALIZATION_PACKEDSYMMETRIC_NT_ID = 11000;
183 const int SERIALIZATION_PACKEDTRIANGULAR_NT_ID = 12000;
184 const int SERIALIZATION_MERGE_NT_ID = 13000;
185 const int SERIALIZATION_ROWMERGE_NT_ID = 14000;
186 
187 const int SERIALIZATION_HOMOGEN_TENSOR_ID = 20000;
188 const int SERIALIZATION_TENSOR_OFFSET_LAYOUT_ID = 22000;
189 const int SERIALIZATION_MKL_TENSOR_ID = 24000;
190 
191 const int SERIALIZATION_OPTIONAL_RESULT_ID = 30000;
192 const int SERIALIZATION_MEMORY_BLOCK_ID = 40000;
193 
194 const int SERIALIZATION_LINEAR_REGRESSION_MODELNORMEQ_ID = 100100;
195 const int SERIALIZATION_LINEAR_REGRESSION_MODELQR_ID = 100110;
196 const int SERIALIZATION_LINEAR_REGRESSION_PARTIAL_RESULT_ID = 100120;
197 const int SERIALIZATION_LINEAR_REGRESSION_TRAINING_RESULT_ID = 100130;
198 const int SERIALIZATION_LINEAR_REGRESSION_PREDICTION_RESULT_ID = 100140;
199 const int SERIALIZATION_LINEAR_REGRESSION_SINGLE_BETA_RESULT_ID = 100150;
200 const int SERIALIZATION_LINEAR_REGRESSION_GROUP_OF_BETAS_RESULT_ID = 100160;
201 const int SERIALIZATION_LASSO_REGRESSION_MODEL_ID = 100170;
202 const int SERIALIZATION_LASSO_REGRESSION_TRAINING_RESULT_ID = 100180;
203 const int SERIALIZATION_LASSO_REGRESSION_PREDICTION_RESULT_ID = 100190;
204 const int SERIALIZATION_ELASTIC_NET_MODEL_ID = 100191;
205 const int SERIALIZATION_ELASTIC_NET_TRAINING_RESULT_ID = 100192;
206 const int SERIALIZATION_ELASTIC_NET_PREDICTION_RESULT_ID = 100193;
207 
208 const int SERIALIZATION_PCA_RESULT_ID = 100200;
209 const int SERIALIZATION_PCA_PARTIAL_RESULT_CORRELATION_ID = 100210;
210 const int SERIALIZATION_PCA_PARTIAL_RESULT_SVD_ID = 100220;
211 const int SERIALIZATION_PCA_TRANSFORM_RESULT_ID = 100230;
212 const int SERIALIZATION_PCA_QUALITY_METRIC_RESULT_ID = 100240;
213 
214 const int SERIALIZATION_STUMP_MODEL_ID = 100300;
215 const int SERIALIZATION_STUMP_TRAINING_RESULT_ID = 100310;
216 const int SERIALIZATION_STUMP_CLASSIFICATION_MODEL_ID = 100320;
217 const int SERIALIZATION_STUMP_CLASSIFICATION_TRAINING_RESULT_ID = 100330;
218 const int SERIALIZATION_STUMP_REGRESSION_MODEL_ID = 100340;
219 const int SERIALIZATION_STUMP_REGRESSION_TRAINING_RESULT_ID = 100350;
220 const int SERIALIZATION_STUMP_REGRESSION_PREDICTION_RESULT_ID = 100360;
221 
222 const int SERIALIZATION_ADABOOST_MODEL_ID = 100400;
223 const int SERIALIZATION_ADABOOST_TRAINING_RESULT_ID = 100410;
224 const int SERIALIZATION_MULTICLASS_ADABOOST_MODEL_ID = 100420;
225 const int SERIALIZATION_MULTICLASS_ADABOOST_TRAINING_RESULT_ID = 100430;
226 
227 const int SERIALIZATION_BROWNBOOST_MODEL_ID = 100500;
228 const int SERIALIZATION_BROWNBOOST_TRAINING_RESULT_ID = 100510;
229 
230 const int SERIALIZATION_LOGITBOOST_MODEL_ID = 100600;
231 const int SERIALIZATION_LOGITBOOST_TRAINING_RESULT_ID = 100610;
232 
233 const int SERIALIZATION_NAIVE_BAYES_MODEL_ID = 100700;
234 const int SERIALIZATION_NAIVE_BAYES_PARTIALMODEL_ID = 100710;
235 const int SERIALIZATION_NAIVE_BAYES_RESULT_ID = 100720;
236 const int SERIALIZATION_NAIVE_BAYES_PARTIAL_RESULT_ID = 100730;
237 
238 const int SERIALIZATION_SVM_MODEL_ID = 100800;
239 const int SERIALIZATION_SVM_TRAINING_RESULT_ID = 100810;
240 
241 const int SERIALIZATION_MULTI_CLASS_CLASSIFIER_MODEL_ID = 100900;
242 const int SERIALIZATION_MULTICLASS_CLASSIFIER_RESULT_ID = 100910;
243 
244 const int SERIALIZATION_COVARIANCE_PARTIAL_RESULT_ID = 101000;
245 const int SERIALIZATION_COVARIANCE_RESULT_ID = 101010;
246 
247 const int SERIALIZATION_KMEANS_PARTIAL_RESULT_ID = 101100;
248 const int SERIALIZATION_KMEANS_RESULT_ID = 101110;
249 const int SERIALIZATION_KMEANS_INIT_PARTIAL_RESULT_ID = 101200;
250 const int SERIALIZATION_KMEANS_INIT_STEP2LOCAL_PP_PARTIAL_RESULT_ID = 101210;
251 const int SERIALIZATION_KMEANS_INIT_STEP3MASTER_PP_PARTIAL_RESULT_ID = 101220;
252 const int SERIALIZATION_KMEANS_INIT_STEP4LOCAL_PP_PARTIAL_RESULT_ID = 101230;
253 const int SERIALIZATION_KMEANS_INIT_STEP5MASTER_PP_PARTIAL_RESULT_ID = 101240;
254 
255 const int SERIALIZATION_KMEANS_INIT_RESULT_ID = 101300;
256 
257 const int SERIALIZATION_CLASSIFIER_TRAINING_PARTIAL_RESULT_ID = 101400;
258 const int SERIALIZATION_CLASSIFIER_BINARY_CONFUSION_MATRIX_RESULT_ID = 101410;
259 const int SERIALIZATION_CLASSIFIER_MULTICLASS_CONFUSION_MATRIX_RESULT_ID = 101420;
260 const int SERIALIZATION_CLASSIFIER_PREDICTION_RESULT_ID = 101430;
261 const int SERIALIZATION_CLASSIFIER_TRAINING_RESULT_ID = 101440;
262 
263 const int SERIALIZATION_MOMENTS_PARTIAL_RESULT_ID = 101500;
264 const int SERIALIZATION_MOMENTS_RESULT_ID = 101510;
265 
266 const int SERIALIZATION_IMPLICIT_ALS_MODEL_ID = 101600;
267 const int SERIALIZATION_IMPLICIT_ALS_PARTIALMODEL_ID = 101610;
268 const int SERIALIZATION_IMPLICIT_ALS_PREDICTION_RATINGS_PARTIAL_RESULT_ID = 101620;
269 const int SERIALIZATION_IMPLICIT_ALS_PREDICTION_RATINGS_RESULT_ID = 101630;
270 const int SERIALIZATION_IMPLICIT_ALS_TRAINING_INIT_RESULT_ID = 101640;
271 const int SERIALIZATION_IMPLICIT_ALS_TRAINING_INIT_PARTIAL_RESULT_BASE_ID = 101645;
272 const int SERIALIZATION_IMPLICIT_ALS_TRAINING_INIT_PARTIAL_RESULT_ID = 101650;
273 const int SERIALIZATION_IMPLICIT_ALS_TRAINING_INIT_DISTRIBUTED_PARTIAL_RESULT_STEP2_ID = 101657;
274 const int SERIALIZATION_IMPLICIT_ALS_TRAINING_RESULT_ID = 101660;
275 const int SERIALIZATION_IMPLICIT_ALS_DISTRIBUTED_PARTIAL_RESULT_STEP1_ID = 101670;
276 const int SERIALIZATION_IMPLICIT_ALS_DISTRIBUTED_PARTIAL_RESULT_STEP2_ID = 101675;
277 const int SERIALIZATION_IMPLICIT_ALS_DISTRIBUTED_PARTIAL_RESULT_STEP3_ID = 101680;
278 const int SERIALIZATION_IMPLICIT_ALS_DISTRIBUTED_PARTIAL_RESULT_STEP4_ID = 101685;
279 
280 const int SERIALIZATION_ASSOCIATION_RULES_RESULT_ID = 101700;
281 
282 const int SERIALIZATION_CHOLESKY_RESULT_ID = 101800;
283 
284 const int SERIALIZATION_CORRELATION_DISTANCE_RESULT_ID = 101900;
285 const int SERIALIZATION_COSINE_DISTANCE_RESULT_ID = 101910;
286 
287 const int SERIALIZATION_EM_GMM_INIT_RESULT_ID = 102000;
288 const int SERIALIZATION_EM_GMM_RESULT_ID = 102010;
289 
290 const int SERIALIZATION_KERNEL_FUNCTION_RESULT_ID = 102100;
291 
292 const int SERIALIZATION_OUTLIER_DETECTION_MULTIVARIATE_RESULT_ID = 102200;
293 const int SERIALIZATION_OUTLIER_DETECTION_UNIVARIATE_RESULT_ID = 102210;
294 const int SERIALIZATION_OUTLIER_DETECTION_BACON_RESULT_ID = 102220;
295 
296 const int SERIALIZATION_PIVOTED_QR_RESULT_ID = 102300;
297 
298 const int SERIALIZATION_QR_RESULT_ID = 102400;
299 const int SERIALIZATION_QR_ONLINE_PARTIAL_RESULT_ID = 102410;
300 const int SERIALIZATION_QR_DISTRIBUTED_PARTIAL_RESULT_ID = 102420;
301 const int SERIALIZATION_QR_DISTRIBUTED_PARTIAL_RESULT_STEP3_ID = 102430;
302 
303 const int SERIALIZATION_QUANTILES_RESULT_ID = 102500;
304 
305 const int SERIALIZATION_WEAK_LEARNER_RESULT_ID = 102600;
306 
307 const int SERIALIZATION_SVD_RESULT_ID = 102700;
308 const int SERIALIZATION_SVD_ONLINE_PARTIAL_RESULT_ID = 102710;
309 const int SERIALIZATION_SVD_DISTRIBUTED_PARTIAL_RESULT_ID = 102720;
310 const int SERIALIZATION_SVD_DISTRIBUTED_PARTIAL_RESULT_STEP3_ID = 102730;
311 
312 const int SERIALIZATION_RELU_RESULT_ID = 103000;
313 
314 const int SERIALIZATION_SORTING_RESULT_ID = 103100;
315 
316 const int SERIALIZATION_SOFTMAX_RESULT_ID = 103200;
317 const int SERIALIZATION_LOGISTIC_RESULT_ID = 103300;
318 const int SERIALIZATION_TANH_RESULT_ID = 103400;
319 
320 const int SERIALIZATION_SMOOTHRELU_RESULT_ID = 103500;
321 const int SERIALIZATION_ABS_RESULT_ID = 103600;
322 
323 const int SERIALIZATION_OBJECTIVE_FUNCTION_RESULT_ID = 103700;
324 const int SERIALIZATION_ITERATIVE_SOLVER_RESULT_ID = 103810;
325 const int SERIALIZATION_ADAGRAD_RESULT_ID = 103820;
326 const int SERIALIZATION_LBFGS_RESULT_ID = 103830;
327 const int SERIALIZATION_SGD_RESULT_ID = 103840;
328 const int SERIALIZATION_SAGA_RESULT_ID = 103850;
329 const int SERIALIZATION_COORDINATE_DESCENT_RESULT_ID = 103860;
330 
331 const int SERIALIZATION_NORMALIZATION_ZSCORE_RESULT_ID = 103900;
332 const int SERIALIZATION_NORMALIZATION_MINMAX_RESULT_ID = 103910;
333 
334 const int SERIALIZATION_NEURAL_NETWORKS_TRAINING_MODEL_ID = 104000;
335 const int SERIALIZATION_NEURAL_NETWORKS_PREDICTION_MODEL_ID = 104010;
336 const int SERIALIZATION_NEURAL_NETWORKS_NUMERIC_TABLE_WEIGHTS_AND_BIASES_ID = 104020;
337 const int SERIALIZATION_NEURAL_NETWORKS_NUMERIC_TABLE_WEIGHTS_AND_BIASES_DERIVATIVES_ID = 104030;
338 const int SERIALIZATION_NEURAL_NETWORKS_TENSOR_WEIGHTS_AND_BIASES_ID = 104040;
339 const int SERIALIZATION_NEURAL_NETWORKS_TENSOR_WEIGHTS_AND_BIASES_DERIVATIVES_ID = 104050;
340 
341 const int SERIALIZATION_NEURAL_NETWORKS_TRAINING_RESULT_ID = 104100;
342 const int SERIALIZATION_NEURAL_NETWORKS_TRAINING_PARTIAL_RESULT_ID = 104101;
343 const int SERIALIZATION_NEURAL_NETWORKS_TRAINING_DISTRIBUTED_PARTIAL_RESULT_ID = 104102;
344 const int SERIALIZATION_NEURAL_NETWORKS_PREDICTION_RESULT_ID = 104110;
345 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_BACKWARD_RESULT_ID = 104120;
346 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_FORWARD_RESULT_ID = 104130;
347 
348 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_ABS_BACKWARD_RESULT_ID = 104140;
349 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_ABS_FORWARD_RESULT_ID = 104150;
350 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_LOGISTIC_BACKWARD_RESULT_ID = 104160;
351 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_LOGISTIC_FORWARD_RESULT_ID = 104170;
352 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_RELU_BACKWARD_RESULT_ID = 104180;
353 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_RELU_FORWARD_RESULT_ID = 104190;
354 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_SMOOTHRELU_BACKWARD_RESULT_ID = 104200;
355 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_SMOOTHRELU_FORWARD_RESULT_ID = 104210;
356 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_TANH_BACKWARD_RESULT_ID = 104220;
357 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_TANH_FORWARD_RESULT_ID = 104230;
358 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_PRELU_FORWARD_RESULT_ID = 104240;
359 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_PRELU_BACKWARD_RESULT_ID = 104250;
360 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_SOFTMAX_BACKWARD_RESULT_ID = 104260;
361 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_SOFTMAX_FORWARD_RESULT_ID = 104270;
362 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_FULLYCONNECTED_BACKWARD_RESULT_ID = 104320;
363 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_FULLYCONNECTED_FORWARD_RESULT_ID = 104330;
364 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_DROPOUT_BACKWARD_RESULT_ID = 104340;
365 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_DROPOUT_FORWARD_RESULT_ID = 104350;
366 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_BATCH_NORMALIZATION_FORWARD_RESULT_ID = 104360;
367 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_BATCH_NORMALIZATION_BACKWARD_RESULT_ID = 104370;
368 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_LRN_BACKWARD_RESULT_ID = 104380;
369 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_LRN_FORWARD_RESULT_ID = 104390;
370 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_SPLIT_FORWARD_RESULT_ID = 104400;
371 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_SPLIT_BACKWARD_RESULT_ID = 104410;
372 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_CONVOLUTION2D_BACKWARD_RESULT_ID = 104420;
373 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_CONVOLUTION2D_FORWARD_RESULT_ID = 104430;
374 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_CONCAT_BACKWARD_RESULT_ID = 104440;
375 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_CONCAT_FORWARD_RESULT_ID = 104450;
376 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_MAXIMUM_POOLING1D_FORWARD_RESULT_ID = 104460;
377 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_AVERAGE_POOLING1D_FORWARD_RESULT_ID = 104470;
378 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_MAXIMUM_POOLING1D_BACKWARD_RESULT_ID = 104480;
379 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_AVERAGE_POOLING1D_BACKWARD_RESULT_ID = 104490;
380 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_MAXIMUM_POOLING2D_FORWARD_RESULT_ID = 104500;
381 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_AVERAGE_POOLING2D_FORWARD_RESULT_ID = 104510;
382 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_MAXIMUM_POOLING2D_BACKWARD_RESULT_ID = 104520;
383 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_AVERAGE_POOLING2D_BACKWARD_RESULT_ID = 104530;
384 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_MAXIMUM_POOLING3D_FORWARD_RESULT_ID = 104540;
385 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_AVERAGE_POOLING3D_FORWARD_RESULT_ID = 104550;
386 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_MAXIMUM_POOLING3D_BACKWARD_RESULT_ID = 104560;
387 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_AVERAGE_POOLING3D_BACKWARD_RESULT_ID = 104570;
388 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_LOSS_SOFTMAX_CROSS_FORWARD_RESULT_ID = 104580;
389 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_LOSS_SOFTMAX_CROSS_BACKWARD_RESULT_ID = 104590;
390 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_STOCHASTIC_POOLING2D_FORWARD_RESULT_ID = 104600;
391 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_STOCHASTIC_POOLING2D_BACKWARD_RESULT_ID = 104610;
392 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_LOCALLYCONNECTED2D_FORWARD_RESULT_ID = 104620;
393 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_LOCALLYCONNECTED2D_BACKWARD_RESULT_ID = 104625;
394 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_LCN_FORWARD_RESULT_ID = 104630;
395 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_LCN_BACKWARD_RESULT_ID = 104635;
396 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_SPATIAL_AVERAGE_POOLING2D_FORWARD_RESULT_ID = 104640;
397 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_SPATIAL_AVERAGE_POOLING2D_BACKWARD_RESULT_ID = 104650;
398 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_SPATIAL_MAXIMUM_POOLING2D_FORWARD_RESULT_ID = 104660;
399 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_SPATIAL_MAXIMUM_POOLING2D_BACKWARD_RESULT_ID = 104670;
400 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_SPATIAL_STOCHASTIC_POOLING2D_FORWARD_RESULT_ID = 104680;
401 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_SPATIAL_STOCHASTIC_POOLING2D_BACKWARD_RESULT_ID = 104690;
402 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_TRANSPOSED_CONV2D_BACKWARD_RESULT_ID = 104700;
403 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_TRANSPOSED_CONV2D_FORWARD_RESULT_ID = 104710;
404 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_LOSS_LOGISTIC_CROSS_FORWARD_RESULT_ID = 104720;
405 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_LOSS_LOGISTIC_CROSS_BACKWARD_RESULT_ID = 104730;
406 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_RESHAPE_BACKWARD_RESULT_ID = 104740;
407 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_RESHAPE_FORWARD_RESULT_ID = 104750;
408 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_ELTWISE_SUM_FORWARD_RESULT_ID = 104760;
409 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_ELTWISE_SUM_BACKWARD_RESULT_ID = 104770;
410 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_ELU_FORWARD_RESULT_ID = 104780;
411 const int SERIALIZATION_NEURAL_NETWORKS_LAYERS_ELU_BACKWARD_RESULT_ID = 104790;
412 
413 const int SERIALIZATION_RIDGE_REGRESSION_MODELNORMEQ_ID = 105000;
414 const int SERIALIZATION_RIDGE_REGRESSION_PARTIAL_RESULT_ID = 105010;
415 const int SERIALIZATION_RIDGE_REGRESSION_TRAINING_RESULT_ID = 105020;
416 const int SERIALIZATION_RIDGE_REGRESSION_PREDICTION_RESULT_ID = 105030;
417 
418 const int SERIALIZATION_K_NEAREST_NEIGHBOR_MODEL_ID = 106000;
419 const int SERIALIZATION_K_NEAREST_NEIGHBOR_TRAINING_RESULT_ID = 106010;
420 
421 const int SERIALIZATION_DECISION_FOREST_CLASSIFICATION_MODEL_ID = 107000;
422 const int SERIALIZATION_DECISION_FOREST_CLASSIFICATION_TRAINING_RESULT_ID = 107010;
423 const int SERIALIZATION_DECISION_FOREST_CLASSIFICATION_PREDICTION_RESULT_ID = 107020;
424 const int SERIALIZATION_DECISION_FOREST_REGRESSION_MODEL_ID = 107030;
425 const int SERIALIZATION_DECISION_FOREST_REGRESSION_TRAINING_RESULT_ID = 107040;
426 const int SERIALIZATION_DECISION_FOREST_REGRESSION_PREDICTION_RESULT_ID = 107050;
427 const int SERIALIZATION_GBT_CLASSIFICATION_MODEL_ID = 107100;
428 const int SERIALIZATION_GBT_CLASSIFICATION_TRAINING_RESULT_ID = 107110;
429 const int SERIALIZATION_GBT_CLASSIFICATION_PREDICTION_RESULT_ID = 107120;
430 const int SERIALIZATION_GBT_REGRESSION_MODEL_ID = 107130;
431 const int SERIALIZATION_GBT_REGRESSION_TRAINING_RESULT_ID = 107140;
432 const int SERIALIZATION_GBT_REGRESSION_PREDICTION_RESULT_ID = 107150;
433 const int SERIALIZATION_GBT_DECISION_TREE_ID = 107160;
434 
435 const int SERIALIZATION_DECISION_TREE_CLASSIFICATION_MODEL_ID = 108000;
436 const int SERIALIZATION_DECISION_TREE_CLASSIFICATION_TRAINING_RESULT_ID = 108010;
437 const int SERIALIZATION_DECISION_TREE_REGRESSION_MODEL_ID = 108020;
438 const int SERIALIZATION_DECISION_TREE_REGRESSION_TRAINING_RESULT_ID = 108030;
439 const int SERIALIZATION_DECISION_TREE_REGRESSION_PREDICTION_RESULT_ID = 108040;
440 
441 const int SERIALIZATION_REGRESSION_TRAINING_RESULT_ID = 109000;
442 const int SERIALIZATION_REGRESSION_PREDICTION_RESULT_ID = 109020;
443 
444 const int SERIALIZATION_LM_TRAINING_RESULT_ID = 109100;
445 const int SERIALIZATION_LM_PREDICTION_RESULT_ID = 109120;
446 
447 const int SERIALIZATION_LOGISTIC_REGRESSION_MODEL_ID = 110000;
448 const int SERIALIZATION_LOGISTIC_REGRESSION_TRAINING_RESULT_ID = 110010;
449 const int SERIALIZATION_LOGISTIC_REGRESSION_PREDICTION_RESULT_ID = 110020;
450 
451 const int SERIALIZATION_DBSCAN_RESULT_ID = 120000;
452 const int SERIALIZATION_DBSCAN_DISTRIBUTED_PARTIAL_RESULT_STEP1_ID = 120100;
453 const int SERIALIZATION_DBSCAN_DISTRIBUTED_PARTIAL_RESULT_STEP2_ID = 120200;
454 const int SERIALIZATION_DBSCAN_DISTRIBUTED_PARTIAL_RESULT_STEP3_ID = 120300;
455 const int SERIALIZATION_DBSCAN_DISTRIBUTED_PARTIAL_RESULT_STEP4_ID = 120400;
456 const int SERIALIZATION_DBSCAN_DISTRIBUTED_PARTIAL_RESULT_STEP5_ID = 120500;
457 const int SERIALIZATION_DBSCAN_DISTRIBUTED_PARTIAL_RESULT_STEP6_ID = 120600;
458 const int SERIALIZATION_DBSCAN_DISTRIBUTED_PARTIAL_RESULT_STEP7_ID = 120700;
459 const int SERIALIZATION_DBSCAN_DISTRIBUTED_PARTIAL_RESULT_STEP8_ID = 120800;
460 const int SERIALIZATION_DBSCAN_DISTRIBUTED_PARTIAL_RESULT_STEP9_ID = 120900;
461 const int SERIALIZATION_DBSCAN_DISTRIBUTED_RESULT_STEP9_ID = 120910;
462 const int SERIALIZATION_DBSCAN_DISTRIBUTED_PARTIAL_RESULT_STEP10_ID = 121000;
463 const int SERIALIZATION_DBSCAN_DISTRIBUTED_PARTIAL_RESULT_STEP11_ID = 121100;
464 const int SERIALIZATION_DBSCAN_DISTRIBUTED_PARTIAL_RESULT_STEP12_ID = 121200;
465 const int SERIALIZATION_DBSCAN_DISTRIBUTED_RESULT_STEP13_ID = 121300;
466 const int SERIALIZATION_DBSCAN_DISTRIBUTED_PARTIAL_RESULT_STEP13_ID = 121310;
467 
468 };
469 
470 #define DAAL_NEW_DELETE() \
471 static void *operator new(std::size_t sz) \
472 { \
473  return daal::services::daal_calloc(sz); \
474 } \
475 static void *operator new[](std::size_t sz) \
476 { \
477  return daal::services::daal_calloc(sz); \
478 } \
479 static void *operator new(std::size_t sz, void *where) \
480 { \
481  return where; \
482 } \
483 static void *operator new[](std::size_t sz, void *where) \
484 { \
485  return where; \
486 } \
487 static void operator delete(void *ptr, std::size_t sz) \
488 { \
489  daal::services::daal_free(ptr); \
490 } \
491 static void operator delete[](void *ptr, std::size_t sz) \
492 { \
493  daal::services::daal_free(ptr); \
494 }
495 
496 #define DAAL_CAST_OPERATOR(ClassName) \
497 template<class U> \
498 static services::SharedPtr<ClassName> cast(const services::SharedPtr<U> &r) \
499 { \
500  return services::dynamicPointerCast<ClassName, U>(r); \
501 }
502 
503 #define DAAL_DOWN_CAST_OPERATOR(DstClassName, SrcClassName) \
504 static services::SharedPtr<DstClassName> downCast(const services::SharedPtr<SrcClassName> &r) \
505 { \
506  return services::dynamicPointerCast<DstClassName, SrcClassName>(r); \
507 }
508 
509 #ifndef DAAL_ALGORITHM_FP_TYPE
510 #define DAAL_ALGORITHM_FP_TYPE float /* default type for algorithms */
511 #endif
512 #ifndef DAAL_DATA_TYPE
513 #define DAAL_DATA_TYPE float /* default type for tables and tensors */
514 #endif
515 #ifndef DAAL_SUMMARY_STATISTICS_TYPE
516 #define DAAL_SUMMARY_STATISTICS_TYPE float /* default type for summary statistics in data source */
517 #endif
518 
519 #ifdef DEBUG_ASSERT
520  #include <assert.h>
521  #define DAAL_ASSERT(cond) assert(cond);
522 #else
523  #define DAAL_ASSERT(cond)
524 #endif
525 
526 #define DAAL_OVERFLOW_CHECK_BY_MULTIPLICATION(type, op1, op2) \
527 { \
528  if (!(0 == (op1)) && !(0 == (op2))) \
529  { \
530  type r = (op1) * (op2); \
531  r /= (op1); \
532  if (!(r == (op2))) \
533  return services::Status(services::ErrorBufferSizeIntegerOverflow); \
534  } \
535 }
536 
537 #define DAAL_OVERFLOW_CHECK_BY_ADDING(type, op1, op2) \
538 { \
539  type r = (op1) + (op2); \
540  r -= (op1); \
541  if (!(r == (op2))) \
542  return services::Status(services::ErrorBufferSizeIntegerOverflow); \
543 }
544 
545 #define DAAL_CHECK(cond, error) if(!(cond)) return services::Status(error);
546 #define DAAL_CHECK_EX(cond, error, detailType, detailValue) if(!(cond)) return services::Status(services::Error::create(error, detailType, detailValue));
547 #define DAAL_CHECK_THR(cond, error) {using namespace services; if(!(cond)) { safeStat.add(error); return; } }
548 
549 #define DAAL_CHECK_MALLOC(cond) DAAL_CHECK(cond, services::ErrorMemoryAllocationFailed)
550 #define DAAL_CHECK_MALLOC_THR(cond) DAAL_CHECK_THR(cond, services::ErrorMemoryAllocationFailed)
551 
552 #define DAAL_CHECK_STATUS(destVar, srcVal) { destVar |= (srcVal); if(!(destVar)) return destVar; }
553 #define DAAL_CHECK_STATUS_VAR(statVal) { if(!(statVal)) return statVal; }
554 #define DAAL_CHECK_STATUS_THR(statVal) { if(!(statVal)) { safeStat.add(statVal); return; } }
555 #define DAAL_CHECK_SAFE_STATUS() { if(!(safeStat)) return safeStat.detach(); }
556 #define DAAL_CHECK_BREAK(cond) { if((cond)) break; }
557 #define DAAL_CHECK_STATUS_OK(cond, status) { if(!(cond)) return status; }
558 #define DAAL_CHECK_COND_ERROR(cond, status, error) { if(!(cond)) (status).add(error); }
559 
560 #define DAAL_CHECK_BLOCK_STATUS(block) { if(!(block).status()) return (block).status(); }
561 #define DAAL_CHECK_BLOCK_STATUS_THR(block) DAAL_CHECK_STATUS_THR((block).status())
562 
563 #define DAAL_DEFAULT_CREATE_IMPL(Type) \
564 { \
565  services::Status defaultSt; \
566  services::Status &st = (stat ? *stat : defaultSt); \
567  services::SharedPtr<Type> result(new Type(st)); \
568  if (!result) { st.add(services::ErrorMemoryAllocationFailed); } \
569  if (!st) { result.reset(); } \
570  return result; \
571 }
572 
573 #define DAAL_DEFAULT_CREATE_IMPL_EX(Type, ...) \
574 { \
575  services::Status defaultSt; \
576  services::Status &st = (stat ? *stat : defaultSt); \
577  services::SharedPtr<Type> result(new Type(__VA_ARGS__, st)); \
578  if (!result) { st.add(services::ErrorMemoryAllocationFailed); } \
579  if (!st) { result.reset(); } \
580  return result; \
581 }
582 
583 #define DAAL_TEMPLATE_ARGUMENTS(...) __VA_ARGS__
584 
585 #define DAAL_DEFAULT_CREATE_TEMPLATE_IMPL(Type, TemplateArgs) \
586 { \
587  services::Status defaultSt; \
588  services::Status &st = (stat ? *stat : defaultSt); \
589  services::SharedPtr<Type<TemplateArgs> > result(new Type<TemplateArgs>(st)); \
590  if (!result) { st.add(services::ErrorMemoryAllocationFailed); } \
591  if (!st) { result.reset(); } \
592  return result; \
593 }
594 
595 #define DAAL_DEFAULT_CREATE_TEMPLATE_IMPL_EX(Type, TemplateArgs, ...) \
596 { \
597  services::Status defaultSt; \
598  services::Status &st = (stat ? *stat : defaultSt); \
599  services::SharedPtr<Type<TemplateArgs> > result(new Type<TemplateArgs>(__VA_ARGS__, st)); \
600  if (!result) { st.add(services::ErrorMemoryAllocationFailed); } \
601  if (!st) { result.reset(); } \
602  return result; \
603 }
604 
605 #define DAAL_ALLOCATE_TENSOR_AND_SET(s, collectionId, tensorDim) \
606 { \
607  set(collectionId, data_management::HomogenTensor<algorithmFPType>::create(tensorDim, data_management::Tensor::doAllocate, &s)); \
608  DAAL_CHECK_STATUS_VAR(s); \
609 }
610 
611 #define DAAL_CHECK_NUMERIC_TABLE(destVar, ...) DAAL_CHECK_STATUS(destVar, data_management::checkNumericTable(__VA_ARGS__))
612 #define DAAL_CHECK_TENSOR(destVar, ...) DAAL_CHECK_STATUS(destVar, data_management::checkTensor(__VA_ARGS__))
613 
614 #endif
daal::mcdram
Definition: daal_defines.h:150
daal::step1Local
Definition: daal_defines.h:123
daal::batch
Definition: daal_defines.h:112
daal::step12Local
Definition: daal_defines.h:139
daal::step2Master
Definition: daal_defines.h:124
daal::IsSameType
Definition: daal_defines.h:159
daal::step11Local
Definition: daal_defines.h:138
daal::step3Master
Definition: daal_defines.h:129
daal::step13Local
Definition: daal_defines.h:140
daal::step3Local
Definition: daal_defines.h:125
daal::step8Local
Definition: daal_defines.h:135
daal::step7Master
Definition: daal_defines.h:134
daal::MemType
MemType
Definition: daal_defines.h:147
daal::step9Master
Definition: daal_defines.h:136
daal::step4Local
Definition: daal_defines.h:126
daal::online
Definition: daal_defines.h:114
daal::ComputeMode
ComputeMode
Definition: daal_defines.h:110
daal::ComputeStep
ComputeStep
Definition: daal_defines.h:121
daal::dram
Definition: daal_defines.h:149
daal::step5Master
Definition: daal_defines.h:130
daal::step5Local
Definition: daal_defines.h:132
daal::step10Local
Definition: daal_defines.h:137
daal::step6Local
Definition: daal_defines.h:133
daal::distributed
Definition: daal_defines.h:113
daal::step2Local
Definition: daal_defines.h:128

For more complete information about compiler optimizations, see our Optimization Notice.