Use --offload-compress linker option to compress offload sections#1961
Use --offload-compress linker option to compress offload sections#1961oleksandr-pavlyk merged 3 commits intomasterfrom
Conversation
|
Deleted rendered PR docs from intelpython.github.com/dpctl, latest should be updated shortly. 🤞 |
|
Array API standard conformance tests for dpctl=0.19.0dev0=py310h93fe807_426 ran successfully. |
See https://www.intel.com/content/www/us/en/developer/articles/technical/sycl-compilation-device-image-compression.html It is applicable for any SYCL targets. This change results in 28.4% reduction in shared objects sizes with offload sections on Linux.
62d0888 to
ae8a3b1
Compare
|
Array API standard conformance tests for dpctl=0.19.0dev0=py310h93fe807_426 ran successfully. |
|
The story of using but the downloadable conda tar-ball ballooned by a factor of 2: |
|
Since the tar-ball balloons in size 2x, I am inclined to not use the |
If -DDPCTL_OFFLOAD_COMPRESS=ON is used, DPC++ link-time option `--offload-compress` is used to compress offload sections. The option is OFF by default.
|
I pushed the change that makes use of |
4d9a95b to
06c5cd4
Compare
|
Array API standard conformance tests for dpctl=0.19.0dev0=py310h93fe807_434 ran successfully. |
Can/should a comment be added, or otherwise a line of documentation, that notes the reason why a user would want to use this option (i.e., shrinking .so size when building locally)? |
``` $ cmake . -LAH -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx | grep -a2 DPCTL_OFFLOAD_COMPRESS // Build using offload section compression feature of DPC++ to reduce size of shared object with offloading sections DPCTL_OFFLOAD_COMPRESS:BOOL=OFF // Build DPCTL to target CUDA devices ```
|
Array API standard conformance tests for dpctl=0.19.0dev0=py310h93fe807_435 ran successfully. |
ndgrigorian
left a comment
There was a problem hiding this comment.
Was there a specific reason the change of DPCTL_TARGET_HIP to an option was reversed?
In any case this LGTM
|
@ndgrigorian options are meant to be boolean only. Change to option broken the build, so had to be reverted |
See https://www.intel.com/content/www/us/en/developer/articles/technical/sycl-compilation-device-image-compression.html
It is applicable for any SYCL targets. This change results in 28.4% reduction in shared objects sizes with offload sections on Linux.