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

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

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