C++ API Reference for Intel® Data Analytics Acceleration Library 2019 Update 4

kmeans_init_distributed.h
1 /* file: kmeans_init_distributed.h */
2 /*******************************************************************************
3 * Copyright 2014-2019 Intel Corporation.
4 *
5 * This software and the related documents are Intel copyrighted materials, and
6 * your use of them is governed by the express license under which they were
7 * provided to you (License). Unless the License provides otherwise, you may not
8 * use, modify, copy, publish, distribute, disclose or transmit this software or
9 * the related documents without Intel's prior written permission.
10 *
11 * This software and the related documents are provided as is, with no express
12 * or implied warranties, other than those that are expressly stated in the
13 * License.
14 *******************************************************************************/
15 
16 /*
17 //++
18 // Implementation of the interface for initializing the K-Means algorithm
19 // in the distributed processing mode
20 //--
21 */
22 
23 #ifndef __KMEANS_INIT_DISTRIBITED_H__
24 #define __KMEANS_INIT_DISTRIBITED_H__
25 
26 #include "algorithms/algorithm.h"
27 #include "data_management/data/numeric_table.h"
28 #include "services/daal_defines.h"
29 #include "algorithms/kmeans/kmeans_init_types.h"
30 
31 namespace daal
32 {
33 namespace algorithms
34 {
35 namespace kmeans
36 {
37 namespace init
38 {
39 
40 namespace interface2
41 {
56 template<ComputeStep step, typename algorithmFPType, Method method, CpuType cpu>
57 class DAAL_EXPORT DistributedContainer;
58 
63 template<typename algorithmFPType, Method method, CpuType cpu>
64 class DAAL_EXPORT DistributedContainer<step1Local, algorithmFPType, method, cpu> : public
65  daal::algorithms::AnalysisContainerIface<distributed>
66 {
67 public:
73  DistributedContainer(daal::services::Environment::env *daalEnv);
75  virtual ~DistributedContainer();
80  virtual services::Status compute() DAAL_C11_OVERRIDE;
85  virtual services::Status finalizeCompute() DAAL_C11_OVERRIDE;
86 };
87 
92 template<typename algorithmFPType, Method method, CpuType cpu>
93 class DAAL_EXPORT DistributedContainer<step2Master, algorithmFPType, method, cpu> : public
94  daal::algorithms::AnalysisContainerIface<distributed>
95 {
96 public:
102  DistributedContainer(daal::services::Environment::env *daalEnv);
104  virtual ~DistributedContainer();
109  virtual services::Status compute() DAAL_C11_OVERRIDE;
114  virtual services::Status finalizeCompute() DAAL_C11_OVERRIDE;
115 };
116 
122 template<typename algorithmFPType, Method method, CpuType cpu>
123 class DAAL_EXPORT DistributedContainer<step2Local, algorithmFPType, method, cpu> : public
124  daal::algorithms::AnalysisContainerIface<distributed>
125 {
126 public:
132  DistributedContainer(daal::services::Environment::env *daalEnv);
134  virtual ~DistributedContainer();
139  virtual services::Status compute() DAAL_C11_OVERRIDE;
144  virtual services::Status finalizeCompute() DAAL_C11_OVERRIDE;
145 };
146 
152 template<typename algorithmFPType, Method method, CpuType cpu>
153 class DAAL_EXPORT DistributedContainer<step3Master, algorithmFPType, method, cpu> : public
154  daal::algorithms::AnalysisContainerIface<distributed>
155 {
156 public:
162  DistributedContainer(daal::services::Environment::env *daalEnv);
164  virtual ~DistributedContainer();
169  virtual services::Status compute() DAAL_C11_OVERRIDE;
174  virtual services::Status finalizeCompute() DAAL_C11_OVERRIDE;
175 };
176 
182 template<typename algorithmFPType, Method method, CpuType cpu>
183 class DAAL_EXPORT DistributedContainer<step4Local, algorithmFPType, method, cpu> : public
184  daal::algorithms::AnalysisContainerIface<distributed>
185 {
186 public:
192  DistributedContainer(daal::services::Environment::env *daalEnv);
194  virtual ~DistributedContainer();
199  virtual services::Status compute() DAAL_C11_OVERRIDE;
204  virtual services::Status finalizeCompute() DAAL_C11_OVERRIDE;
205 };
206 
212 template<typename algorithmFPType, Method method, CpuType cpu>
213 class DAAL_EXPORT DistributedContainer<step5Master, algorithmFPType, method, cpu> : public
214  daal::algorithms::AnalysisContainerIface<distributed>
215 {
216 public:
222  DistributedContainer(daal::services::Environment::env *daalEnv);
224  virtual ~DistributedContainer();
229  virtual services::Status compute() DAAL_C11_OVERRIDE;
234  virtual services::Status finalizeCompute() DAAL_C11_OVERRIDE;
235 };
236 
241 class DAAL_EXPORT DistributedBase : public daal::algorithms::Analysis<distributed>
242 {
243 public:
244  typedef algorithms::kmeans::init::Parameter ParameterType;
246  virtual ~DistributedBase() { }
247 
248 protected:
249  DistributedBase() { }
250 
251  explicit DistributedBase(ParameterType *parameter)
252  {
253  _par = parameter;
254  }
255 };
256 
274 template<ComputeStep step, typename algorithmFPType = DAAL_ALGORITHM_FP_TYPE, Method method = defaultDense>
275 class DAAL_EXPORT Distributed;
276 
294 template<typename algorithmFPType, Method method>
295 class DAAL_EXPORT Distributed<step1Local, algorithmFPType, method> : public DistributedBase
296 {
297 public:
298  typedef algorithms::kmeans::init::Input InputType;
299  typedef algorithms::kmeans::init::Result ResultType;
300  typedef algorithms::kmeans::init::PartialResult PartialResultType;
301 
308  Distributed(size_t nClusters, size_t nRowsTotal, size_t offset = 0);
314  Distributed(const Distributed<step1Local, algorithmFPType, method> &other);
315 
320  virtual int getMethod() const DAAL_C11_OVERRIDE { return(int) method; }
321 
326  ResultPtr getResult()
327  {
328  return _result;
329  }
330 
335  services::Status setResult(const ResultPtr& result)
336  {
337  DAAL_CHECK(result, services::ErrorNullResult)
338  _result = result;
339  _res = _result.get();
340  return services::Status();
341  }
342 
347  PartialResultPtr getPartialResult()
348  {
349  return _partialResult;
350  }
351 
356  services::Status setPartialResult(const PartialResultPtr& partialRes)
357  {
358  DAAL_CHECK(partialRes, services::ErrorNullPartialResult);
359  _partialResult = partialRes;
360  _pres = _partialResult.get();
361  return services::Status();
362  }
363 
367  services::Status checkFinalizeComputeParams() DAAL_C11_OVERRIDE
368  {
369  return services::Status();
370  }
371 
377  services::SharedPtr<Distributed<step1Local, algorithmFPType, method> > clone() const
378  {
379  return services::SharedPtr<Distributed<step1Local, algorithmFPType, method> >(cloneImpl());
380  }
381 
382 protected:
383  virtual Distributed<step1Local, algorithmFPType, method> * cloneImpl() const DAAL_C11_OVERRIDE
384  {
385  return new Distributed<step1Local, algorithmFPType, method>(*this);
386  }
387 
388  virtual services::Status allocateResult() DAAL_C11_OVERRIDE
389  {
390  _result.reset(new ResultType());
391  services::Status s = _result->allocate<algorithmFPType>(_pres, _par, (int) method);
392  _res = _result.get();
393  return s;
394  }
395 
396  virtual services::Status allocatePartialResult() DAAL_C11_OVERRIDE
397  {
398  _partialResult.reset(new PartialResultType());
399  services::Status s = _partialResult->allocate<algorithmFPType>(&input, _par, (int) method);
400  _pres = _partialResult.get();
401  return s;
402  }
403 
404  virtual services::Status initializePartialResult() DAAL_C11_OVERRIDE
405  {
406  return services::Status();
407  }
408 
409  void initialize()
410  {
411  Analysis<distributed>::_ac = new __DAAL_ALGORITHM_CONTAINER(distributed, DistributedContainer, step1Local, algorithmFPType, method)(&_env);
412  _in = &input;
413  }
414 
415 public:
416  InputType input;
417  ParameterType &parameter;
419 private:
420  PartialResultPtr _partialResult;
421  ResultPtr _result;
422 };
423 
441 template<typename algorithmFPType, Method method>
442 class DAAL_EXPORT Distributed<step2Master, algorithmFPType, method> : public DistributedBase
443 {
444 public:
445  typedef algorithms::kmeans::init::DistributedStep2MasterInput InputType;
446  typedef algorithms::kmeans::init::Result ResultType;
447  typedef algorithms::kmeans::init::PartialResult PartialResultType;
448 
454  Distributed(size_t nClusters, size_t offset = 0);
455 
460  virtual int getMethod() const DAAL_C11_OVERRIDE { return(int) method; }
461 
466  ResultPtr getResult()
467  {
468  return _result;
469  }
470 
474  services::Status setResult(const ResultPtr& result)
475  {
476  DAAL_CHECK(result, services::ErrorNullResult)
477  _result = result;
478  _res = _result.get();
479  return services::Status();
480  }
481 
486  PartialResultPtr getPartialResult()
487  {
488  return _partialResult;
489  }
490 
495  services::Status setPartialResult(const PartialResultPtr& partialRes)
496  {
497  DAAL_CHECK(partialRes, services::ErrorNullPartialResult);
498  _partialResult = partialRes;
499  _pres = _partialResult.get();
500  return services::Status();
501  }
502 
506  services::Status checkFinalizeComputeParams() DAAL_C11_OVERRIDE
507  {
508  services::Status s;
509  if(_partialResult)
510  {
511  s |= _partialResult->check(_par, method);
512  if (!s) { return s; }
513  }
514  else
515  {
516  return services::Status(services::ErrorNullResult);
517  }
518 
519  if(_result)
520  {
521  s |= _result->check(&input, _par, method);
522  }
523  else
524  {
525  return services::Status(services::ErrorNullResult);
526  }
527  return s;
528  }
529 
535  services::SharedPtr<Distributed<step2Master, algorithmFPType, method> > clone() const
536  {
537  return services::SharedPtr<Distributed<step2Master, algorithmFPType, method> >(cloneImpl());
538  }
539 
540 protected:
541  virtual Distributed<step2Master, algorithmFPType, method> * cloneImpl() const DAAL_C11_OVERRIDE
542  {
543  return new Distributed<step2Master, algorithmFPType, method>(*this);
544  }
545 
546  virtual services::Status allocateResult() DAAL_C11_OVERRIDE
547  {
548  _result.reset(new ResultType());
549  services::Status s = _result->allocate<algorithmFPType>(_pres, _par, (int)method);
550  _res = _result.get();
551  return s;
552  }
553 
554  virtual services::Status allocatePartialResult() DAAL_C11_OVERRIDE
555  {
556  _partialResult.reset(new PartialResultType());
557  services::Status s = _partialResult->allocate<algorithmFPType>(&input, _par, (int)method);
558  if(!s) return s;
559  _pres = _partialResult.get();
560  if(!_res)
561  {
562  _result.reset(new ResultType());
563  s |= _result->allocate<algorithmFPType>(&input, _par, (int)method);
564  _res = _result.get();
565  }
566  return s;
567  }
568 
569  virtual services::Status initializePartialResult() DAAL_C11_OVERRIDE
570  {
571  return services::Status();
572  }
573 
574  void initialize()
575  {
576  Analysis<distributed>::_ac = new __DAAL_ALGORITHM_CONTAINER(distributed, DistributedContainer, step2Master, algorithmFPType, method)(&_env);
577  _in = &input;
578  }
579 
580 public:
581  InputType input;
582  ParameterType &parameter;
584 private:
585  PartialResultPtr _partialResult;
586  ResultPtr _result;
587 };
588 
593 class DAAL_EXPORT DistributedStep2LocalPlusPlusBase : public daal::algorithms::Analysis<distributed>
594 {
595 public:
596  typedef algorithms::kmeans::init::DistributedStep2LocalPlusPlusParameter ParameterType;
598  virtual ~DistributedStep2LocalPlusPlusBase() { }
599 
600 protected:
601  DistributedStep2LocalPlusPlusBase() { }
602 
603  explicit DistributedStep2LocalPlusPlusBase(ParameterType *parameter)
604  {
605  _par = parameter;
606  }
607 };
608 
630 template<typename algorithmFPType, Method method>
631 class DAAL_EXPORT Distributed<step2Local, algorithmFPType, method> : public DistributedStep2LocalPlusPlusBase
632 {
633 public:
634  typedef algorithms::kmeans::init::DistributedStep2LocalPlusPlusInput InputType;
635  typedef algorithms::kmeans::init::DistributedStep2LocalPlusPlusPartialResult PartialResultType;
636 
642  Distributed(size_t nClusters, bool bFirstIteration);
643 
649  Distributed(const Distributed<step2Local, algorithmFPType, method> &other);
650 
655  virtual int getMethod() const DAAL_C11_OVERRIDE{ return(int)method; }
656 
661  DistributedStep2LocalPlusPlusPartialResultPtr getPartialResult()
662  {
663  return _partialResult;
664  }
665 
670  services::Status setPartialResult(const DistributedStep2LocalPlusPlusPartialResultPtr& partialRes)
671  {
672  DAAL_CHECK(partialRes, services::ErrorNullPartialResult);
673  _partialResult = partialRes;
674  _pres = _partialResult.get();
675  return services::Status();
676  }
677 
681  services::Status checkFinalizeComputeParams() DAAL_C11_OVERRIDE
682  {
683  return services::Status();
684  }
685 
691  services::SharedPtr<Distributed<step2Local, algorithmFPType, method> > clone() const
692  {
693  return services::SharedPtr<Distributed<step2Local, algorithmFPType, method> >(cloneImpl());
694  }
695 
696 protected:
697  virtual Distributed<step2Local, algorithmFPType, method> * cloneImpl() const DAAL_C11_OVERRIDE
698  {
699  return new Distributed<step2Local, algorithmFPType, method>(*this);
700  }
701 
702  virtual services::Status allocateResult() DAAL_C11_OVERRIDE
703  {
704  return services::Status();
705  }
706 
707  virtual services::Status allocatePartialResult() DAAL_C11_OVERRIDE
708  {
709  _partialResult.reset(new DistributedStep2LocalPlusPlusPartialResult());
710  services::Status s = _partialResult->allocate<algorithmFPType>(&input, _par, (int)method);
711  _pres = _partialResult.get();
712  return s;
713  }
714 
715  virtual services::Status initializePartialResult() DAAL_C11_OVERRIDE
716  {
717  _partialResult->initialize(&input, _par, (int)method);
718  return services::Status();
719  }
720 
721  void initialize()
722  {
723  Analysis<distributed>::_ac = new __DAAL_ALGORITHM_CONTAINER(distributed, DistributedContainer, step2Local, algorithmFPType, method)(&_env);
724  _in = &input;
725  }
726 
727 public:
728  InputType input;
729  ParameterType &parameter;
731 private:
732  DistributedStep2LocalPlusPlusPartialResultPtr _partialResult;
733 };
734 
755 template<typename algorithmFPType, Method method>
756 class DAAL_EXPORT Distributed<step3Master, algorithmFPType, method> : public DistributedBase
757 {
758 public:
759  typedef algorithms::kmeans::init::DistributedStep3MasterPlusPlusInput InputType;
760  typedef algorithms::kmeans::init::DistributedStep3MasterPlusPlusPartialResult PartialResultType;
761 
766  Distributed(size_t nClusters);
772  Distributed(const Distributed<step3Master, algorithmFPType, method> &other);
773 
778  virtual int getMethod() const DAAL_C11_OVERRIDE{ return(int)method; }
779 
784  DistributedStep3MasterPlusPlusPartialResultPtr getPartialResult()
785  {
786  return _partialResult;
787  }
788 
793  services::Status setPartialResult(const DistributedStep3MasterPlusPlusPartialResultPtr& partialRes)
794  {
795  DAAL_CHECK(partialRes, services::ErrorNullPartialResult);
796  _partialResult = partialRes;
797  _pres = _partialResult.get();
798  return services::Status();
799  }
800 
804  services::Status checkFinalizeComputeParams() DAAL_C11_OVERRIDE
805  {
806  return services::Status();
807  }
808 
814  services::SharedPtr<Distributed<step3Master, algorithmFPType, method> > clone() const
815  {
816  return services::SharedPtr<Distributed<step3Master, algorithmFPType, method> >(cloneImpl());
817  }
818 
819 protected:
820  virtual Distributed<step3Master, algorithmFPType, method> * cloneImpl() const DAAL_C11_OVERRIDE
821  {
822  return new Distributed<step3Master, algorithmFPType, method>(*this);
823  }
824 
825  virtual services::Status allocateResult() DAAL_C11_OVERRIDE
826  {
827  return services::Status();
828  }
829 
830  virtual services::Status allocatePartialResult() DAAL_C11_OVERRIDE
831  {
832  _partialResult.reset(new PartialResultType());
833  services::Status s = _partialResult->allocate<algorithmFPType>(&input, _par, (int)method);
834  _pres = _partialResult.get();
835  return s;
836  }
837 
838  virtual services::Status initializePartialResult() DAAL_C11_OVERRIDE
839  {
840  _partialResult->initialize(&input, _par, (int)method);
841  return services::Status();
842  }
843 
844  void initialize()
845  {
846  Analysis<distributed>::_ac = new __DAAL_ALGORITHM_CONTAINER(distributed, DistributedContainer, step3Master, algorithmFPType, method)(&_env);
847  _in = &input;
848  }
849 
850 public:
851  InputType input;
852  ParameterType &parameter;
854 private:
855  DistributedStep3MasterPlusPlusPartialResultPtr _partialResult;
856 };
857 
878 template<typename algorithmFPType, Method method>
879 class DAAL_EXPORT Distributed<step4Local, algorithmFPType, method> : public DistributedBase
880 {
881 public:
882  typedef algorithms::kmeans::init::DistributedStep4LocalPlusPlusInput InputType;
883  typedef algorithms::kmeans::init::DistributedStep4LocalPlusPlusPartialResult PartialResultType;
884 
889  Distributed(size_t nClusters);
895  Distributed(const Distributed<step4Local, algorithmFPType, method> &other);
896 
901  virtual int getMethod() const DAAL_C11_OVERRIDE{ return(int)method; }
902 
907  DistributedStep4LocalPlusPlusPartialResultPtr getPartialResult()
908  {
909  return _partialResult;
910  }
911 
916  services::Status setPartialResult(const DistributedStep4LocalPlusPlusPartialResultPtr& partialRes)
917  {
918  DAAL_CHECK(partialRes, services::ErrorNullPartialResult);
919  _partialResult = partialRes;
920  _pres = _partialResult.get();
921  return services::Status();
922  }
923 
927  services::Status checkFinalizeComputeParams() DAAL_C11_OVERRIDE
928  {
929  return services::Status();
930  }
931 
937  services::SharedPtr<Distributed<step4Local, algorithmFPType, method> > clone() const
938  {
939  return services::SharedPtr<Distributed<step4Local, algorithmFPType, method> >(cloneImpl());
940  }
941 
942 protected:
943  virtual Distributed<step4Local, algorithmFPType, method> * cloneImpl() const DAAL_C11_OVERRIDE
944  {
945  return new Distributed<step4Local, algorithmFPType, method>(*this);
946  }
947 
948  virtual services::Status allocateResult() DAAL_C11_OVERRIDE
949  {
950  return services::Status();
951  }
952 
953  virtual services::Status allocatePartialResult() DAAL_C11_OVERRIDE
954  {
955  _partialResult.reset(new PartialResultType());
956  services::Status s = _partialResult->allocate<algorithmFPType>(&input, _par, (int)method);
957  _pres = _partialResult.get();
958  return s;
959  }
960 
961  virtual services::Status initializePartialResult() DAAL_C11_OVERRIDE
962  {
963  return services::Status();
964  }
965 
966  void initialize()
967  {
968  Analysis<distributed>::_ac = new __DAAL_ALGORITHM_CONTAINER(distributed, DistributedContainer, step4Local, algorithmFPType, method)(&_env);
969  _in = &input;
970  }
971 
972 public:
973  InputType input;
974  ParameterType &parameter;
976 private:
977  DistributedStep4LocalPlusPlusPartialResultPtr _partialResult;
978 };
979 
1000 template<typename algorithmFPType, Method method>
1001 class DAAL_EXPORT Distributed<step5Master, algorithmFPType, method> : public DistributedBase
1002 {
1003 public:
1004  typedef algorithms::kmeans::init::DistributedStep5MasterPlusPlusInput InputType;
1005  typedef algorithms::kmeans::init::Result ResultType;
1006  typedef algorithms::kmeans::init::DistributedStep5MasterPlusPlusPartialResult PartialResultType;
1007 
1012  Distributed(size_t nClusters);
1013 
1019  Distributed(const Distributed<step5Master, algorithmFPType, method> &other);
1020 
1025  virtual int getMethod() const DAAL_C11_OVERRIDE{ return(int)method; }
1026 
1031  ResultPtr getResult()
1032  {
1033  return _result;
1034  }
1035 
1040  services::Status setResult(const ResultPtr& result)
1041  {
1042  DAAL_CHECK(result, services::ErrorNullResult)
1043  _result = result;
1044  _res = _result.get();
1045  return services::Status();
1046  }
1047 
1052  DistributedStep5MasterPlusPlusPartialResultPtr getPartialResult()
1053  {
1054  return _partialResult;
1055  }
1056 
1061  services::Status setPartialResult(const DistributedStep5MasterPlusPlusPartialResultPtr& partialRes)
1062  {
1063  DAAL_CHECK(partialRes, services::ErrorNullPartialResult);
1064  _partialResult = partialRes;
1065  _pres = _partialResult.get();
1066  return services::Status();
1067  }
1068 
1072  services::Status checkFinalizeComputeParams() DAAL_C11_OVERRIDE
1073  {
1074  return services::Status();
1075  }
1076 
1082  services::SharedPtr<Distributed<step5Master, algorithmFPType, method> > clone() const
1083  {
1084  return services::SharedPtr<Distributed<step5Master, algorithmFPType, method> >(cloneImpl());
1085  }
1086 
1087 protected:
1088  virtual Distributed<step5Master, algorithmFPType, method> * cloneImpl() const DAAL_C11_OVERRIDE
1089  {
1090  return new Distributed<step5Master, algorithmFPType, method>(*this);
1091  }
1092 
1093  virtual services::Status allocateResult() DAAL_C11_OVERRIDE
1094  {
1095  _result.reset(new ResultType());
1096  services::Status s = _result->allocate<algorithmFPType>(_pres, _par, (int)method);
1097  _res = _result.get();
1098  return s;
1099  }
1100 
1101  virtual services::Status allocatePartialResult() DAAL_C11_OVERRIDE
1102  {
1103  _partialResult.reset(new PartialResultType());
1104  services::Status s = _partialResult->allocate<algorithmFPType>(&input, _par, (int)method);
1105  _pres = _partialResult.get();
1106  return s;
1107  }
1108 
1109  virtual services::Status initializePartialResult() DAAL_C11_OVERRIDE
1110  {
1111  return services::Status();
1112  }
1113 
1114  void initialize()
1115  {
1116  Analysis<distributed>::_ac = new __DAAL_ALGORITHM_CONTAINER(distributed, DistributedContainer, step5Master, algorithmFPType, method)(&_env);
1117  _in = &input;
1118  }
1119 
1120 public:
1121  InputType input;
1122  ParameterType &parameter;
1124 private:
1125  DistributedStep5MasterPlusPlusPartialResultPtr _partialResult;
1126  ResultPtr _result;
1127 };
1128 } // namespace interface2
1129 using interface2::DistributedContainer;
1130 using interface2::DistributedBase;
1131 using interface2::DistributedStep2LocalPlusPlusBase;
1132 using interface2::Distributed;
1133 } // namespace daal::algorithms::kmeans::init
1134 } // namespace daal::algorithms::kmeans
1135 } // namespace daal::algorithms
1136 } // namespace daal
1137 #endif
daal::step2Local
Definition: daal_defines.h:126
daal::algorithms::kmeans::init::interface2::Distributed< step5Master, algorithmFPType, method >::clone
services::SharedPtr< Distributed< step5Master, algorithmFPType, method > > clone() const
Definition: kmeans_init_distributed.h:1082
daal
Definition: algorithm_base_common.h:31
daal::step5Master
Definition: daal_defines.h:128
daal::algorithms::AnalysisContainerIface
Abstract interface class that provides virtual methods to access and run implementations of the analy...
Definition: analysis.h:53
daal::algorithms::kmeans::init::interface2::Distributed< step4Local, algorithmFPType, method >::setPartialResult
services::Status setPartialResult(const DistributedStep4LocalPlusPlusPartialResultPtr &partialRes)
Definition: kmeans_init_distributed.h:916
daal::algorithms::kmeans::init::interface2::Distributed< step4Local, algorithmFPType, method >::getPartialResult
DistributedStep4LocalPlusPlusPartialResultPtr getPartialResult()
Definition: kmeans_init_distributed.h:907
daal::algorithms::kmeans::init::interface2::Distributed< step3Master, algorithmFPType, method >::setPartialResult
services::Status setPartialResult(const DistributedStep3MasterPlusPlusPartialResultPtr &partialRes)
Definition: kmeans_init_distributed.h:793
daal::algorithms::kmeans::init::interface2::Distributed< step1Local, algorithmFPType, method >::checkFinalizeComputeParams
services::Status checkFinalizeComputeParams() DAAL_C11_OVERRIDE
Definition: kmeans_init_distributed.h:367
daal::algorithms::kmeans::init::interface2::Distributed< step2Master, algorithmFPType, method >
Computes initial clusters for the K-Means algorithm in the 2nd step of the distributed processing mod...
Definition: kmeans_init_distributed.h:442
daal::services::ErrorNullPartialResult
Definition: error_indexes.h:105
daal::algorithms::kmeans::init::interface2::DistributedBase
Base class representing an K-Means algorithm initialization in the distributed processing mode...
Definition: kmeans_init_distributed.h:241
daal::algorithms::kmeans::init::interface2::Distributed< step1Local, algorithmFPType, method >::parameter
ParameterType & parameter
Definition: kmeans_init_distributed.h:417
daal_defines.h
daal::step3Master
Definition: daal_defines.h:127
daal::algorithms::kmeans::init::interface2::Distributed< step2Local, algorithmFPType, method >
Computes initial clusters for the K-Means algorithm in the 2nd step of the distributed processing mod...
Definition: kmeans_init_distributed.h:631
daal::algorithms::kmeans::init::interface2::Distributed< step3Master, algorithmFPType, method >::getPartialResult
DistributedStep3MasterPlusPlusPartialResultPtr getPartialResult()
Definition: kmeans_init_distributed.h:784
daal::algorithms::kmeans::init::interface2::Distributed
class DAAL_EXPORT Distributed
Computes initial clusters for the K-Means algorithm in the distributed processing mode...
Definition: kmeans_init_distributed.h:275
daal::distributed
Definition: daal_defines.h:111
daal::algorithms::kmeans::init::interface2::Distributed< step2Master, algorithmFPType, method >::clone
services::SharedPtr< Distributed< step2Master, algorithmFPType, method > > clone() const
Definition: kmeans_init_distributed.h:535
daal::algorithms::kmeans::init::interface2::Distributed< step4Local, algorithmFPType, method >
Computes initial clusters for the K-Means algorithm in the 4th step of the distributed processing mod...
Definition: kmeans_init_distributed.h:879
daal::algorithms::kmeans::init::interface2::Distributed< step1Local, algorithmFPType, method >::setPartialResult
services::Status setPartialResult(const PartialResultPtr &partialRes)
Definition: kmeans_init_distributed.h:356
daal::algorithms::kmeans::init::interface2::Distributed< step1Local, algorithmFPType, method >::input
InputType input
Definition: kmeans_init_distributed.h:416
daal::algorithms::kmeans::init::interface2::Distributed< step3Master, algorithmFPType, method >
Computes initial clusters for the K-Means algorithm in the 3rd step of the distributed processing mod...
Definition: kmeans_init_distributed.h:756
daal::algorithms::kmeans::init::interface2::Distributed< step3Master, algorithmFPType, method >::clone
services::SharedPtr< Distributed< step3Master, algorithmFPType, method > > clone() const
Definition: kmeans_init_distributed.h:814
daal::algorithms::kmeans::init::interface2::Distributed< step5Master, algorithmFPType, method >
Computes initial clusters for the K-Means algorithm in the 5th step of the distributed processing mod...
Definition: kmeans_init_distributed.h:1001
daal::step4Local
Definition: daal_defines.h:124
daal::algorithms::kmeans::init::interface2::DistributedContainer
class DAAL_EXPORT DistributedContainer
Provides methods to run implementations of initialization of the K-Means algorithm. This class is associated with the daal::algorithms::kmeans::init::Distributed class and supports the method of computing initial clusters for the K-Means algorithm in the distributed processing mode.
Definition: kmeans_init_distributed.h:57
daal::algorithms::Analysis
Provides methods for execution of operations over data, such as computation of Summary Statistics est...
Definition: analysis.h:68
daal::algorithms::kmeans::init::interface2::DistributedStep2LocalPlusPlusBase::~DistributedStep2LocalPlusPlusBase
virtual ~DistributedStep2LocalPlusPlusBase()
Definition: kmeans_init_distributed.h:598
daal::algorithms::kmeans::init::interface2::Distributed< step5Master, algorithmFPType, method >::getPartialResult
DistributedStep5MasterPlusPlusPartialResultPtr getPartialResult()
Definition: kmeans_init_distributed.h:1052
daal::algorithms::kmeans::init::interface2::Distributed< step1Local, algorithmFPType, method >::getResult
ResultPtr getResult()
Definition: kmeans_init_distributed.h:326
daal::step1Local
Definition: daal_defines.h:121
daal::algorithms::kmeans::init::interface2::DistributedBase::~DistributedBase
virtual ~DistributedBase()
Definition: kmeans_init_distributed.h:246
daal::step2Master
Definition: daal_defines.h:122
daal::algorithms::kmeans::init::interface2::Distributed< step2Local, algorithmFPType, method >::clone
services::SharedPtr< Distributed< step2Local, algorithmFPType, method > > clone() const
Definition: kmeans_init_distributed.h:691
daal::algorithms::implicit_als::training::offset
Definition: implicit_als_training_types.h:148
daal::algorithms::kmeans::init::interface2::DistributedStep2LocalPlusPlusBase
Base class representing an K-Means algorithm initialization in the distributed processing mode...
Definition: kmeans_init_distributed.h:593
daal::algorithms::kmeans::init::interface2::Distributed< step2Local, algorithmFPType, method >::getPartialResult
DistributedStep2LocalPlusPlusPartialResultPtr getPartialResult()
Definition: kmeans_init_distributed.h:661
daal::algorithms::kmeans::init::interface2::Distributed< step1Local, algorithmFPType, method >::getPartialResult
PartialResultPtr getPartialResult()
Definition: kmeans_init_distributed.h:347
daal::algorithms::kmeans::init::interface2::Distributed< step1Local, algorithmFPType, method >::setResult
services::Status setResult(const ResultPtr &result)
Definition: kmeans_init_distributed.h:335
daal::algorithms::kmeans::init::interface2::Distributed< step5Master, algorithmFPType, method >::setPartialResult
services::Status setPartialResult(const DistributedStep5MasterPlusPlusPartialResultPtr &partialRes)
Definition: kmeans_init_distributed.h:1061
daal::algorithms::kmeans::init::interface2::Distributed< step1Local, algorithmFPType, method >::getMethod
virtual int getMethod() const DAAL_C11_OVERRIDE
Definition: kmeans_init_distributed.h:320
daal::algorithms::kmeans::init::interface2::Distributed< step1Local, algorithmFPType, method >::clone
services::SharedPtr< Distributed< step1Local, algorithmFPType, method > > clone() const
Definition: kmeans_init_distributed.h:377
daal::algorithms::kmeans::init::interface2::Distributed< step2Local, algorithmFPType, method >::setPartialResult
services::Status setPartialResult(const DistributedStep2LocalPlusPlusPartialResultPtr &partialRes)
Definition: kmeans_init_distributed.h:670
daal::services::ErrorNullResult
Definition: error_indexes.h:96
daal::algorithms::kmeans::init::interface2::Distributed< step1Local, algorithmFPType, method >
Computes initial clusters for the K-Means algorithm in the first step of the distributed processing m...
Definition: kmeans_init_distributed.h:295
daal::algorithms::kmeans::init::interface2::Distributed< step4Local, algorithmFPType, method >::clone
services::SharedPtr< Distributed< step4Local, algorithmFPType, method > > clone() const
Definition: kmeans_init_distributed.h:937

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