-
Notifications
You must be signed in to change notification settings - Fork 6.8k
USE_NVRTC -> ENABLE_CUDA_RTC to fix maven build. Add compile-guard to fusion. #16838
Conversation
… fusion framework.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, thanks for fixing this :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, but I'm thinking about backwards compatibility - should the change of the build flag be of concern?
I would say it is just fixing the bug and bringing the Scala build to parity with other builds (especially since the value of the flag is not changed, so the intent to enable this was there, it's just that it was never actually doing anything). |
Honestly speaking, there is no backend build difference between pip build and scala for now. we can also use the pip mk on Scala/Java build without problems. @zachgk let's track on the deprecation on the maven mkl files. |
|
… fusion. (apache#16838) * Rename USE_NVRTC -> ENABLE_CUDA_RTC to fix maven build. Compile-guard fusion framework. * Fix fusion-not-supported warning. * Fix compile guards * Fix cmake build so -DMXNET_ENABLE_CUDA_RTC=1 is passed to nvcc * Minimize side-effects of prev change
* Add unoptimized symbol to executor for sharing (#16798) * Add unoptimized symbol to executor for sharing * Copy the symbol in Reshape * Added test for multiple reshapes * Mixed precison binary op backward (use in) for numpy (#16791) * mixed precison binary op backward * reduce unix cpu runtime * USE_NVRTC -> ENABLE_CUDA_RTC to fix maven build. Add compile-guard to fusion. (#16838) * Rename USE_NVRTC -> ENABLE_CUDA_RTC to fix maven build. Compile-guard fusion framework. * Fix fusion-not-supported warning. * Fix compile guards * Fix cmake build so -DMXNET_ENABLE_CUDA_RTC=1 is passed to nvcc * Minimize side-effects of prev change * Fix InferAttr/InferShapeAttr not calling inference for all nodes in a graph (#16836) * Fix the attribute inference omitting nodes * Add test * Cleaning * Fix lint * Fix TransposeShape * Fix WhileLoopType * Changing a/b test for fusion to a/(b+1) to increase numerical stability * Revert "Mixed precison binary op backward (use in) for numpy (#16791)" This reverts commit 8b58b78.
This PR fixes the maven build issue #16765 reported by @zachgk and first seen with PR #15167. The fix involved-
Renaming the build flag used by maven (namely
USE_NVRTC
) to the name used by the pip builds (ENABLE_CUDA_RTC
). The Makefile currently looks at ENABLE_CUDA_RTC (not USE_NVRTC) and in response sets the compile flag MXNET_ENABLE_CUDA_RTC=1 and adds-lcuda -lnvrtc
to the LDFLAGS. It was the absence of these ld flags when creating im2rec that caused the issue filed.Adding compile guards to the newly-introduced files ./src/operator/fusion/* in a form similar to those that protect ./src/common/rtc.cc. Now both cuda runtime-compilation facilities are included into the build (or not) based on MXNET_ENABLE_CUDA_RTC.
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.
Changes
Comments