Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CPU parts of the performance-related hyperparameters logic #2461

Merged
merged 30 commits into from
Sep 1, 2023

Conversation

Vika-F
Copy link
Contributor

@Vika-F Vika-F commented Aug 15, 2023

Changes in this PR:

  • Base algorithm::Hyperparameter class implemented in DAAL.
  • Pointer to the algorithm::Hyperparameter, _hpar, was added as the protected, constant, field of the base Algorithm and AlgorithmContainer classes
  • Passing the Hyperparameters from DAAL interface into DAAL kernel implemented by analogy with DAAL's Parameter object
  • Initial version of Hyperparameter class for DAAL Covariance algorithm implemented
  • Passing the hyperparameters from oneDAL to DAAL is implemented in Covariance and PCA + Covariance algorithms. For the PCA only the hyperparameters for the Covariance part of the algorithm are passed into DAAL for now.

What remains to be done:

  • Move the temporary logic of block size calculation that exists now in both Covariance and PCA algorithms on oneDAL side to some common place. I.e. get rid of copy/paste.
  • Add hyperparameters passing into other DAAL algorithms' kernels that are called from oneDAL API to be able to pass hyperparameters from oneDAL further. Now the hyperparameters can be passed only into Covariance algorithm.

@md-shafiul-alam
Copy link
Contributor

/intelci: run

Alexsandruss and others added 12 commits August 25, 2023 06:56
* cleanup avx512_mic

* cleanup ssse3

* cleanup avx

* fixing typos

* fixing / typos

* fixing make typos

* clang format

* Updating ISA in install.md

* replace AVX with AVX2 for intersect
* update binary version

* more binary version updates
* Initial input for backend selection

* Update dev/make/cmplr.gnu.mkl.mk

Co-authored-by: KulikovNikita <[email protected]>

* Update dev/make/cmplr.gnu.ref.mk

Co-authored-by: KulikovNikita <[email protected]>

* Changed default backend to 'mkl'

* Buildable onedal_c

* Added clang support

* Update dev/make/cmplr.gnu.mkl.mk

Co-authored-by: KulikovNikita <[email protected]>

* Update dev/make/cmplr.gnu.ref.mk

Co-authored-by: KulikovNikita <[email protected]>

* Compiler fixes for icc, icx, vc plus clang-format

* Update dev/make/cmplr.clang.ref.mk

Co-authored-by: KulikovNikita <[email protected]>

* adding support for selecting different math/rng/service backends in case of build with bazel

* fixed build issue with kmeans serialization

* Introducing backend_config param selection to build.sh

* Create openblas.sh

* Introduce CI build for BLAS backend

* adding execute permission on openblas.sh

* Update cpp/daal/src/externals/config_ref.h

Co-authored-by: Victoriya Fedotova <[email protected]>

* Update cpp/daal/src/externals/config_ref.h

Co-authored-by: Victoriya Fedotova <[email protected]>

* Addressed part of the comments

* Clang-format

* Turned off hyperthreadig for ref config in order to use TBB default number of threads

* Addressed more comments

* Macro fixed (APPLE)

* More changes in REF RNG

* Update build.sh

* Removed 'sed' from Makefile

* Update openblas.sh

* Removed config_template from BAZEL

* Removed backend_config_header from BAZEL

* Update openblas.sh

* Replaced safe function not supported by GNU

* Fixed bugs in ref backend for OpenBLAS build

* Fixed bugs in ref backend for OpenBLAS build #2

* Reduced header file dependencies in REF backend; removed << operator for RNG (compiling issue)

* Update ci.yml

* Fixed export on symbols for OpenBLAS build

* export.def handling in bazel

* Update cpp/daal/src/externals/service_math_ref.h

Co-authored-by: Pavel Yakovlev <[email protected]>

* Added libfgortran to REF build

* removed config_template auxiliary func

* Removed libgfortran for REF backend

* Fixed BACKEND incdirs for oneAPI; addressed some comments

* Removed unnecessary includes; fixed ifdef in _DECLAR_ files

* fixed omitted ifdef in _DECLAR_ files

* Clang-format

* Clang-format fix

* Added an option to move compression to exclude list for examples

* Excluded compression examples for all configurations

* revert some macros to __intel_compiler

* replase some more macros

* add NO_FORTRAN=1 to openblas.sh script

* Update cpp/daal/src/externals/service_service_ref.h

* Fixed missed fpk symbols for oneapi examples (REF backend)

* Update cpp/daal/src/externals/service_service_ref.h

Co-authored-by: Pavel Yakovlev <[email protected]>

* Update cpp/daal/src/externals/service_service_ref.h

Co-authored-by: Pavel Yakovlev <[email protected]>

* Fixed error message in oneapi

* exclude failed examples with ref backend

* exclude examples for oneapi/cpp ifaces

* exclude mpi examples for ref backend

* Apply suggestions from code review

* AVX512_MIC cleanup

* Fixed CI pipeline

* Added more includes for ONEAPI

* Update .ci/pipeline/ci.yml

* Switch to core count for blas build

* Update .ci/env/openblas.sh

* Adding _MKL suffix for job name

* Fixing daal4py job dependency

* Attempt to fix warnings

---------

Co-authored-by: Aleksey Grigorev <[email protected]>
Co-authored-by: KulikovNikita <[email protected]>
Co-authored-by: a.maklaev <[email protected]>
Co-authored-by: Nikolay Petrov <[email protected]>
Co-authored-by: Victoriya Fedotova <[email protected]>
Co-authored-by: Pavel Yakovlev <[email protected]>
Co-authored-by: Pavel Yakovlev <[email protected]>
@md-shafiul-alam
Copy link
Contributor

/intelci: run

@md-shafiul-alam md-shafiul-alam marked this pull request as ready for review August 25, 2023 15:01
@md-shafiul-alam
Copy link
Contributor

/intelci: run

1 similar comment
@md-shafiul-alam
Copy link
Contributor

/intelci: run

@md-shafiul-alam
Copy link
Contributor

/intelci: run

@md-shafiul-alam
Copy link
Contributor

/intelci: run

Copy link
Contributor

@ethanglaser ethanglaser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CI looks good, maybe would want an approval from Nikita or someone else in terms of implementation details

@md-shafiul-alam md-shafiul-alam merged commit c60a7ec into oneapi-src:master Sep 1, 2023
12 checks passed
@Vika-F Vika-F deleted the dev/vsfedoto/dispatcher_cpu branch January 17, 2024 10:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants