-
Notifications
You must be signed in to change notification settings - Fork 232
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
Fused solver for Fwd Convolution with Residual add, Bias add and then activation function #2517
Merged
Merged
Changes from all commits
Commits
Show all changes
24 commits
Select commit
Hold shift + click to select a range
896aae1
WIP: fused solver for residual add
amberhassaan 0c6ded7
Merge branch 'develop' into amber/fused-res-add-solver
junliume 44443b5
WIP: updating the solver to use the correct CK kernel
amberhassaan dd06505
basic code structure for new fusion solver completed and compiles
amberhassaan be6f4e5
Merge remote-tracking branch 'origin/develop' into amber/fused-res-ad…
amberhassaan 7b043d7
formatting
amberhassaan bf88d8a
Merge branch 'develop' into amber/fused-res-add-solver
amberhassaan 3539871
add support for tensor scale add op
amberhassaan 7545e7f
WIP: added gtest for the fused solver
amberhassaan 8c49752
fix formatting
amberhassaan c64b7e5
bump new ck commint hash
iq136boy fea7680
modified fusion APIs and invoke parameters
iq136boy cfa8fa1
fix bugs in new fusion solver
iq136boy fa79a8a
fix bugs and errors in gtest
iq136boy 59dc084
address comments
iq136boy 488dae1
Merge remote-tracking branch 'origin/develop' into amber/fused-res-ad…
amberhassaan 221636b
WIP: fused solver is running. Debugging assert failure
amberhassaan 1154f9f
bug fixes. Code works
amberhassaan f5b1667
Merge remote-tracking branch 'origin/develop' into amber/fused-res-ad…
amberhassaan e726221
formatting fixes
amberhassaan 669e6f6
fix tidy error
amberhassaan 4aa97df
diabling broken test
amberhassaan dc942ee
added namespace around gtest
amberhassaan e5786d4
Merge branch 'develop' into amber/fused-res-add-solver
amberhassaan File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,4 +7,7 @@ nlohmann/[email protected] -DJSON_MultipleHeaders=ON -DJSON_BuildTests=Off | |
ROCmSoftwarePlatform/[email protected] | ||
ROCmSoftwarePlatform/[email protected] | ||
ROCmSoftwarePlatform/frugally-deep@9683d557eb672ee2304f80f6682c51242d748a50 | ||
ROCmSoftwarePlatform/composable_kernel@0dacd895d5ba9c9eeb99588ec7f7df1da82f7fa9 -DCMAKE_BUILD_TYPE=Release -DINSTANCES_ONLY=ON | ||
ROCmSoftwarePlatform/composable_kernel@55a89c746eb6cf7973c47fb9b2635e0f73bd2fc2 -DCMAKE_BUILD_TYPE=Release -DINSTANCES_ONLY=ON | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -81,6 +81,16 @@ struct BiasFusionOpDescriptor : FusionOpDescriptor | |
TensorDescriptor base_desc; | ||
}; | ||
|
||
struct TensorScaleAddOpDescriptor : public FusionOpDescriptor | ||
{ | ||
TensorScaleAddOpDescriptor(const TensorDescriptor& desc) : tensor_desc(desc) {} | ||
miopenStatus_t GetOutputDesc(TensorDescriptor& output_desc) const override; | ||
miopenStatus_t GetNetworkConfig(std::ostringstream& network_config) override; | ||
miopenStatus_t SetArgs(OperatorArgs& args, float alpha, ConstData_t tensor_ptr); | ||
miopenFusionOp_t kind() const override { return miopenFusionOpTensorScaleAdd; }; | ||
TensorDescriptor tensor_desc; | ||
}; | ||
|
||
struct ActivFwdFusionOpDescriptor : FusionOpDescriptor | ||
{ | ||
ActivFwdFusionOpDescriptor(miopenActivationMode_t mode) : activMode(mode) {} | ||
|
@@ -215,6 +225,7 @@ struct ConvForwardOpDescriptor : FusionOpDescriptor | |
conv_compiler_options(""){}; | ||
miopenStatus_t GetOutputDesc(TensorDescriptor& output_desc) const override; | ||
miopenStatus_t SetArgs(OperatorArgs& args, const void* alpha, const void* beta, ConstData_t w); | ||
// miopenStatus_t SetArgs(OperatorArgs& args, float alpha, float beta, ConstData_t w); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. dead code? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ditto. Will remove in a future PR. |
||
miopenStatus_t GetNetworkConfig(std::ostringstream& network_config) override; | ||
bool isASMApplicable(Handle& handle); | ||
miopenFusionOp_t kind() const override { return miopenFusionOpConvForward; }; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
dead code?
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.
@amberhassaan maybe kept for debugging purposes?
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.
yes, this should be removed. @iq136boy commented it out when I wasn't paying attention :).
In reality, we need to deduce the pointer type from
ConvolutionDescriptor
and not assumefloat
all the time, but for now CK seems to supportfloat
only for these scaling factors.