Comments (5)
oneDNN has build options to disable unused functionality:
ONEDNN_ENABLE_WORKLOAD
allows to disable training functionality for inference casesONEDNN_ENABLE_PRIMITIVE
allows to choose specific primitives (functions) and disable the restONEDNN_ENABLE_PRIMITIVE_CPU_ISA
andONEDNN_ENABLE_PRIMITIVE_GPU_ISA
allow to drop unused targetsONEDNN_ENABLE_GEMM_KERNELS_ISA
allows to drop legacy JIT GEMM kernels
from onednn.
@vineel96 I'm not sure if I understand your question correctly. Are you trying to exclude some source files from coverage output, like the option -fprofile-exclude-files=regex
(Program Instrumentation Options) supported by gcc, or the options gcov-filter supported by gcov?
from onednn.
@shu1chen, Yes similar to gcov tool. I wanted to remove any unused codes when we run a primitive. Example if I run oneDNN's matmul code, it should identify out of all oneDNN's matmul code which functions or code files are not used for any kind of input. So coverage.cmake file is used for this purpose ?
from onednn.
@vineel96 No, I think it's not for the purpose you mentioned. As seen in the source code, coverage.cmake gets gcov tool involved, which helps to report the test code coverage.
There are some cross-dependencies in the source code and usually the oneDNN library is used as a full library. Can you explain why you want to remove the unused code? Is it to reduce the size of the binary?
I'm not aware of any tool/script that can automatically delete unused code. To reduce the code, it usually relies on developers who have a thorough understanding of the entire code base. Copy @vpirogov to see if there is any tool for this purpose
from onednn.
No updates for a week and no open questions in this thread. Closing this issue as completed
from onednn.
Related Issues (20)
- Understand the document on block level APIs(https://github.com/oneapi-src/oneDNN/pull/1852) HOT 1
- dnnl_sgemm occurs segmentation fault with special size HOT 2
- SSE41 kernels are broken HOT 7
- Generic OpenCL kernels are broken HOT 4
- GPU tests pass when they probably shouldn't HOT 4
- Convolution Test Failures and Skips on AArch64 HOT 5
- Can't create engine in amd backend. HOT 4
- AMX and VNNI perform nearly the same in IP primitives HOT 2
- Heuristics for operations workload distribution for matrix multiplication based on number of threads HOT 2
- New/other Matrix multiplication algorithm implementation HOT 9
- Bnorm tests are mistrusted on aarch64 HOT 1
- Mean used for lnorm benchmark is not actual mean of the data HOT 2
- Does oneDNN support int64? HOT 2
- Clarification Needed on Memory Requirements for Batch Matrix Multiplication Description HOT 3
- Working with the Reorder HOT 9
- Performance with matmul HOT 7
- DNNL_TEST_SET NIGHTLY produces duplicate benchdnn tests HOT 1
- AMD oneDNN Build Error HOT 2
- could not create a primitive descriptor for a reorder primitive HOT 11
- Speed drop when running oneDNN in a subthread HOT 10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from onednn.