ROCm / MIOpen

AMD's Machine Intelligence Library
https://rocm.docs.amd.com/projects/MIOpen/en/latest/
Other
1.09k stars 230 forks source link

[gfx110x] ConvDirectNaiveConvFwd mistakenly not applicable after #3213 #3279

Closed junliume closed 2 months ago

junliume commented 2 months ago

@averinevg could you take a look?

mini reproducer:

./bin/MIOpenDriver convfp16 -n 1 -c 1 -H 7 -W 7 -k 1 -y 1 -x 1 -p 0 -q 0 -u 1 -v 1 -l 1 -j 1 --in_layout NHWC --out_layout NHWC -m conv -g 1 -F 1 -t 1
./bin/MIOpenDriver conv -n 1 -c 1 -H 7 -W 7 -k 1 -y 1 -x 1 -p 0 -q 0 -u 1 -v 1 -l 1 -j 1 --in_layout NHWC --out_layout NHWC -m conv -g 1 -F 1 -t 1

Before #3213:

✗ ./bin/MIOpenDriver conv -n 1 -c 1 -H 7 -W 7 -k 1 -y 1 -x 1 -p 0 -q 0 -u 1 -v 1 -l 1 -j 1 --in_layout NHWC --out_layout NHWC -m conv -g 1 -F 1 -t 1
MIOpenDriver conv -n 1 -c 1 -H 7 -W 7 -k 1 -y 1 -x 1 -p 0 -q 0 -u 1 -v 1 -l 1 -j 1 --in_layout NHWC --out_layout NHWC -m conv -g 1 -F 1 -t 1
PRNG seed: 12345678
MIOpen Forward Conv. Algorithm: 1, Solution: 85/ConvDirectNaiveConvFwd
GPU Kernel Time Forward Conv. Elapsed: 0.006373 ms (average)
stats: name, n, c, ho, wo, x, y, k, flopCnt, bytesRead, bytesWritten, GFLOPs, GB/s, timeMs
stats: fwd-conv1x1u1, 1, 1, 7, 7, 1, 1, 1,  98, 200, 196, 0, 0, 0.006373
Forward Convolution Verifies OK on GPU reference (0 < 1.5e-06)

Aftrer #3213


✗ ./bin/MIOpenDriver conv -n 1 -c 1 -H 7 -W 7 -k 1 -y 1 -x 1 -p 0 -q 0 -u 1 -v 1 -l 1 -j 1 --in_layout NHWC --out_layout NHWC -m conv -g 1 -F 1 -t 1 -S -88
MIOpenDriver conv -n 1 -c 1 -H 7 -W 7 -k 1 -y 1 -x 1 -p 0 -q 0 -u 1 -v 1 -l 1 -j 1 --in_layout NHWC --out_layout NHWC -m conv -g 1 -F 1 -t 1 -S -88
PRNG seed: 12345678
MIOpen Error: /home/MIOpen/src/ocl/convolutionocl.cpp:276: No suitable algorithm was found to execute the required convolution
RunForwardGPU() FAILED, rc = 0x7
Forward Convolution FAILED: 1.79769e+308 > 1.5e-06