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

Minor issue: daal produces lots of warnings in pedantic modes #353

Closed
emmenlau opened this issue Feb 6, 2020 · 9 comments
Closed

Minor issue: daal produces lots of warnings in pedantic modes #353

emmenlau opened this issue Feb 6, 2020 · 9 comments
Assignees
Labels

Comments

@emmenlau
Copy link

emmenlau commented Feb 6, 2020

Describe the bug
This is not really a bug, rather a suggestion for an improvement. The issue is that when we include DAAL 2019.5 headers, we get a huge number of compiler warnings on all platforms.

This is due to our strict compiler settings, like -Wall -Wextra -pedantic on Linux and /W4 on Windows. It seems DAAL can currently not be used nicely with such strict compiler settings, because we get thousands of lines of warnings. This makes our work a bit more complicated because our internal code review requests warning-free code.

Most warnings seem quite simple to fix. For example there are many cases of extra ; that could be removed.

To Reproduce
Steps to reproduce the behavior:

  1. Set Linux compiler warnings to -pedantic -Wall -Wextra -Werror=return-type -Werror=uninitialized -Werror=unknown-pragmas or Windows compiler warnings to /W4
  2. Include standard daal headers
  3. Build the code
  4. There are typically 100-10000 lines of warnings per source file

Expected behavior
Ideally, DAAL would only show a few or now warnings at all.

Output/Screenshots
Here an example from Ubuntu 18.04 x86_64 with gcc-7.4.0:

 In file included from /data/Tools/include/algorithms/neural_networks/layers/dropout/dropout_layer_backward.h:30:0,
                  from /data/Tools/include/algorithms/neural_networks/layers/dropout/dropout_layer.h:31,
                  from /data/Tools/include/daal.h:256,
                  from /home/builds/include/Regression.hh:23,
                  from /home/builds/src/Regression.cc:20:
/data/Tools/include/algorithms/neural_networks/layers/dropout/dropout_layer_backward_types.h:116:38: warning: extra ';' [-Wpedantic]
      DECLARE_SERIALIZABLE_CAST(Result);

Environment:

  • OS: Ubuntu 18.04 x86_64, macOS 10.13 XCode 9.4, macOS 10.14 XCode 11.3, MS Visual Studio 2017, MS Visual Studio 2019
  • Version: 2019 Update 5
@SmirnovEgorRu
Copy link
Contributor

@emmenlau, thank you for reporting the issue.
Usually we build our examples without "-Wpedantic" flag and don't observe what you reported. We are looking at the the problem and how it can be resolved.

@dr-pain is assigned for this work.

@emmenlau
Copy link
Author

emmenlau commented Feb 6, 2020

Thanks a lot @SmirnovEgorRu for the positive feedback! I hope the issue is not causing hazzle, and its not very urgent. But we're looking forward if something can be improved!

@dr-pain
Copy link
Contributor

dr-pain commented Feb 28, 2020

@emmenlau
I have fixed all gcc warnings (or most of them). See #408.
Check it please.
Andrey

@emmenlau
Copy link
Author

Awesome @dr-pain, thanks! I'm currently using the binaries from official Intel, so I'll have to wait a bit for the 2020 Update 1. But I will happily close the issue as fixed! Thanks!

@dr-pain
Copy link
Contributor

dr-pain commented Mar 19, 2020

Hello @emmenlau !
Sorry, but we don`t plan to commit fixes to 2020 product line - use 2021 (master, releases) instead.
Andrey

@emmenlau
Copy link
Author

Ok I'll check them out! Will they be released as binary download for all platforms too (like the current Intel downloads from the official website), or are these source releases?

@dr-pain
Copy link
Contributor

dr-pain commented Mar 19, 2020

yes, we have binary releases for 2021.
You may download them from "releases" folder (but for linux and macos only).
2021 oneDAL is also available at official web site in oneAPI KIT package https://software.intel.com/en-us/oneapi .
Andrey

@emmenlau
Copy link
Author

Thanks Andrey! I'm really sorry and I feel very stupid to ask this, but: could you point me to the binary download for 2021? I've considered

But in all cases, I do not see anything to download for 2021, neither classic DAAL nor oneDAL. I did not consider oneAPI KIT package because we're not ready for this yet, but anything else. Am I doing something wrong?

@dr-pain
Copy link
Contributor

dr-pain commented Mar 19, 2020

Im really sorry, but I missed fact that we are not publishing oneDAL binary releases at github. The only way to get changes in binaries is - download oneAPI KIT and install oneDAL. It should be possible to install oneDAL only and skip all other tools. Dont afraid to use oneDAL instead of classic DAAL. Now they are similar from several points of view. The only one big change happened - neural networks were removed from oneDAL.
Changes should be available in beta06 release. it is next release after upcoming beta05 release. current available release is beta04.
Andrey

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants