You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implementation of DPCTLQueue_Fill8/16/32/64/128 function to SyclInterface library (#831)
* Implementation of DPCTLQueue_Fill8/16/32/64/128 function
Also added tests and docstrings.
* genhtml uses --no-source to work around issue with non-existing integration headers
* gen_coverage script runs llvm-cov rather than lcov-genhtml target, since HTMLs are not used for CI coverage collection
* Added commended out use of -save-temps=obj
Whenever C++ source code contains device code, DPC++ would perform
two compilation passes (for host and for device portions) and combine
these two into fat object file. In the process of doing this it generates
temporary integration headers. So functions from these headers get
instrumented and .lcov file would contain references to deleted header
files, in the form of /tmp/dpctl_sycl_queue_integrface-header-hex.h
Added -save-temps instructs DPC++ to keep all the temporaries around and
makes these headers available for llvm-profdata and llvm-cov to use.
The side-effect of using -save-temps=obj is that preprocessor output
files are also kept around and referenced by instrumentation tools.
These files are very large. So much so that generated .json file can
not be uploaded to coverall service.
Therefore the -save-temps=obj is commented out. May still be useful
for manual profile collection.
References to deleted header files are still present (and wreck
llvm-lcov calls), but that can be addressed using llvm-cov option to
ignore certain files (like /tmp/dpctl_*.h)
* increase compute intensity of kern3 in the test
* Fixed logic for collection of profiling binaries
Since addition of --save-temps=obj, a slew of host/device object
files were added and llvm-cov can not work with some of them.
Since binaries can actually be shared objects, use that instead.
Process traces for libtensor and libsyclinterface shared objects
* llvm-cov target must export to dpctl.lcov for coveralls to work
* added diagnostic to the workflow
* Replaced use of numba-dpex in example with use of dpnp
This is until we have GEMM implemented in dpctl
* Use -ignore-filename-regex option of llvm-cov to exclude references to deleted integration headers
Co-authored-by: Vladislav Perevezentsev <[email protected]>
0 commit comments