Comments (3)
[Attribution] @junliume @JehandadKhan
- performance
- urgency_normal
- value_unknown
- Proposed assignees: @atamazov @JehandadKhan @kyeonghwanryu
from miopen.
I found some cases that took >1s for miopenFindConvolution[Direction]Algorithm.
We need to identify the reason of this.
I suspect that the reason is that some of the kernels (likely HIP kernels because their build times are long) are missing from the precompiled binary kernel cache. But there could be dozens of other reasons ;)
@kyeonghwanryu We need more info to reproduce the issue.
- Please specify what is the GPU type -- MI300 or MI250?
- Have you used the the normal installable build (i.e the one with binary cache enabled)?
- Do you have the precompiled kernels package installed?
- Do you see the the excessive delays during the first run only or subsequent runs also look suspicious?
The delays can also be caused by copying buffers from the GPU to the CPU and back (this can take a long time), so please also check your application.
I would appreciate if you provide me with the log taken from one of the suspicious configs with the following environment settings:
export MIOPEN_ENABLE_LOGGING=1
export MIOPEN_ENABLE_LOGGING_CMD=1
export MIOPEN_LOG_LEVEL=6
export MIOPEN_ENABLE_LOGGING_ELAPSED_TIME=1
export MIOPEN_DEBUG_LOGGING_QUIETING_DISABLE=1
If your application is multi-threaded or uses MIOpen in the multi-process context, then please also add
export MIOPEN_ENABLE_LOGGING_MPMT=1
Thanks!
from miopen.
@JehandadKhan @cderb Can you please check if we have the configs shown above reside in the list of the "favorite" configs that we use to populate the system-find-db, system-perf-db and the precompiled kernel package?
I've looked for 64-56-56-1x1-64-56-56-16-0x0-1x1-1x1-0-NCHW-FP32-F
in find-db and for 2x64x56x56x1x1x1x1x64x16x0x0x0x1x1x0x1x1x0x0x1xNCHWxFP32xF
in perf-db. Results:
- gfx90a68
- find-db: ConvHipImplicitGemmForwardV4R4Xdlops is the best, it is tunable
- perf-db: ConvHipImplicitGemmForwardV4R4Xdlops:64,256,2,64,128,4,0,1,4
- gfx90a6e
- find-db: ConvMlirIgemmFwdXdlops is the best, it is tunable
- perf-db: ConvMlirIgemmFwdXdlops:64,256,2,64,64,4,1,1
- gfx942130
- find-db: ConvAsmImplicitGemmGTCDynamicFwdXdlopsNHWC is the best, it is tunable
- perf-db: ConvAsmImplicitGemmGTCDynamicFwdXdlopsNHWC: fwd,nhwc,fp32,0,0,64,64,32,16,16,4,1,1,2,2,0,0,0,0,0,1,4,2,1,1,8,1,32,1,4,2,1,1,8,1,32,54
So at the fist glance find-db and perf-db look correct, but I am not sure about kernel db.
from miopen.
Related Issues (20)
- Build failure Unable to found boost_filesystem HOT 2
- Reproduce kernel cache binary files in MIOpen HOT 1
- [urgent] HipBuildImpl() seems fail to create temp dir or due to no GPU presents in build env HOT 6
- [WA] re-enable conv_hip_implicit_gemm_grouped_bwd_xdlops after kernel dev work
- Softmax invoking FP16 kernel for FP32 input
- [GEMM group conv] Incorrect GPU time when GemmBwd1x1_stride1 and GemmFwd1x1_0_1 are invoked in "Run" mode. HOT 1
- [URGENT] error: no member named 'for_each_n' in namespace 'std' HOT 5
- Excessive warning messages on workspace provided and required (IsEnoughWorkspace) after #2947 HOT 3
- Build process, which to follow? HOT 1
- [Windows] graphapi gtests are not compiling due to missing class methods HOT 2
- Regenerating KDB in the `develop` branch is currently not possible. HOT 2
- MIOpen unit test link issue : ld.lld: error: undefined symbol: dladdr and undefined reference due to --no-allow-shlib-undefined HOT 5
- naive_conv_nonpacked_fwd_nchw_half_double_half in KDB cache breaks after #2863 HOT 5
- Tip of `develop` branch fail to build on older Linux distributions HOT 8
- Remove `setEnvironmentVariable` from the tests and use `env::update(VAR, value)` instead. HOT 3
- Enable hipBLASLt as an optional backend for MIOpen GEMM kernels HOT 2
- Bring back std::unordered_map to old systems HOT 2
- [SLES][RHEL8] error: no member named 'exclusive_scan' in namespace 'std HOT 8
- Implement RNN solver's HOT 3
- Windows support? HOT 1
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 miopen.