Thank you so much for advice.

Acturally, i have made the cachefiles as shown in the figure.

Besides, i have succesfully run several benchmarks such as pool, activations, 
softmax, so i think the kernels is setuped.
The reason of the differences in commands is that i directly run the command in 
the docker container. 


There might be a common problem when running the network with conv, some other 
email such as 
https://www.mail-archive.com/gem5-users@gem5.org/msg20468.html
https://www.mail-archive.com/gem5-users@gem5.org/msg20456.html
also met this problem.


I have also tried to use the latest docker and the original command like this:
docker run --rm -v ${PWD}:${PWD} -v 
${PWD}/gem5-resources/src/gpu/DNNMark/cachefiles:/root/.cache/miopen/2.9.0 -w 
${PWD} gcr.io/gem5-test/gcn-gpu:v22-1 gem5/build/GCN3_X86/gem5.opt 
gem5/configs/example/apu_se.py -n3 
--benchmark-root=gem5-resources/src/gpu/DNNMark/build/benchmarks/test_fwd_conv 
-cdnnmark_test_fwd_conv --options="-config 
gem5-resources/src/gpu/DNNMark/config_example/conv_config.dnnmark -mmap 
gem5-resources/src/gpu/DNNMark/mmap.bin"but still got the same error.Is that 
means conv layers is currently no available for gem5-gcn?May i ask is there 
anyone else met this problem before?thank you!




------------------ ???????? ------------------
??????:                                                                         
                                               "Matt Sinclair"                  
                                                                  
<mattdsinclair.w...@gmail.com&gt;;
????????:&nbsp;2023??5??12??(??????) ????11:42
??????:&nbsp;"The gem5 Developer List"<gem5-dev@gem5.org&gt;;
????:&nbsp;"gem5-users"<gem5-us...@gem5.org&gt;;"429442672"<429442...@qq.com&gt;;
????:&nbsp;Re: [gem5-dev] GEM5-GCN-DNNMark get Invalid filter channel number 
when running: dnnmark_test_VGG, dnnmark_test_alexnet, dnnmark_test_fwd_conv



I have not tried running these specific benchmarks in gem5 personally, so I 
cannot say for certain what the error is or even if they are expected to run to 
completion in gem5.&nbsp; But, normally the error you're seeing happens because 
you have not created the appropriate "cache" files for the GPU kernel(s) the 
program is trying to run.&nbsp; MIOpen first checks to see if the desired 
kernel has been run on your machine before, and if not it tries to do online 
compilation of that kernel.&nbsp; Unfortunately online compilation of kernels 
in gem5 is a) very slow and b), because it is very slow, not supported in gem5 
(basically, it is so slow as to not be worth supporting in many cases, in my 
opinion).&nbsp; So, instead, the expectation is that we build the kernels we 
want ahead of time, before running the program.&nbsp; You may have seen in the 
examples we provide for DNNMark (https://resources.gem5.org/resources/dnn-mark) 
that we have this "generate cachefiles" script -- that is exactly what the 
purpose of that script is.&nbsp; Moreover, on the same webpage, you may have 
noticed we include the path to that cache directory in our docker commands 
(emphasis mine):
 docker run --rm -v ${PWD}:${PWD} -v 
${PWD}/gem5-resources/src/gpu/DNNMark/cachefiles:/root/.cache/miopen/2.9.0 -w 
${PWD} gcr.io/gem5-test/gcn-gpu:v22-1 gem5/build/GCN3_X86/gem5.opt 
gem5/configs/example/apu_se.py -n3 
--benchmark-root=gem5-resources/src/gpu/DNNMark/build/benchmarks/test_fwd_softmax
 -cdnnmark_test_fwd_softmax --options="-config 
gem5-resources/src/gpu/DNNMark/config_example/softmax_config.dnnmark -mmap 
gem5-resources/src/gpu/DNNMark/mmap.bin" 
From looking at your commands, I don't see you including this.&nbsp; Thus, 
while I do not know if that script by default produces the kernels needed for, 
say, AlexNet, I strongly suspect you should start by running that script and 
updating your docker commands to include the cache stuff ... then see what 
happens from there.



Sidenote: normally when I see this:


 MIOpen(HIP): Warning [ParseAndLoadDb] File is unreadable: 
/opt/rocm-4.0.1/miopen/share/miopen/db/gfx801_4.HIP.fdb.txt 



It means that the files MIOpen is expecting are not setup properly.&nbsp; 
Normally I just symlink these extra files -- e.g., symlink gfx801_4... from 
gfx801_32 ... (this is not the best performing, option because the resources 
are different, but provides a basic setup step to avoid problems like this).


Matt



On Thu, May 11, 2023 at 10:02?6?2PM 429442672 via gem5-dev 
<gem5-dev@gem5.org&gt; wrote:

Dear Matt,
&nbsp; &nbsp; &nbsp;When i run the benchmarks: dnnmark_test_VGG, 
dnnmark_test_alexnet, dnnmark_test_fwd_conv, and i got the same error like this 
(get Invalid filter channel number)??


build/GCN3_X86/sim/syscall_emul.cc:74: warn: ignoring syscall fdatasync(...)
build/GCN3_X86/sim/syscall_emul.cc:74: warn: ignoring syscall fdatasync(...)
build/GCN3_X86/sim/syscall_emul.cc:74: warn: ignoring syscall fdatasync(...)
build/GCN3_X86/sim/syscall_emul.cc:74: warn: ignoring syscall fdatasync(...)
build/GCN3_X86/sim/syscall_emul.cc:683: warn: fcntl: unsupported command 6
build/GCN3_X86/sim/syscall_emul.cc:683: warn: fcntl: unsupported command 6
build/GCN3_X86/sim/syscall_emul.cc:683: warn: fcntl: unsupported command 6
build/GCN3_X86/sim/syscall_emul.cc:683: warn: fcntl: unsupported command 6
build/GCN3_X86/sim/syscall_emul.cc:683: warn: fcntl: unsupported command 6
build/GCN3_X86/sim/syscall_emul.cc:683: warn: fcntl: unsupported command 6
build/GCN3_X86/sim/syscall_emul.cc:683: warn: fcntl: unsupported command 6
build/GCN3_X86/sim/syscall_emul.cc:683: warn: fcntl: unsupported command 6
build/GCN3_X86/sim/syscall_emul.cc:683: warn: fcntl: unsupported command 6
build/GCN3_X86/sim/syscall_emul.cc:683: warn: fcntl: unsupported command 6
build/GCN3_X86/sim/syscall_emul.cc:683: warn: fcntl: unsupported command 6
MIOpen(HIP): Warning [ParseAndLoadDb] File is unreadable: 
/opt/rocm-4.0.1/miopen/share/miopen/db/gfx801_4.HIP.fdb.txt
build/GCN3_X86/sim/syscall_emul.cc:683: warn: fcntl: unsupported command 6
build/GCN3_X86/sim/syscall_emul.cc:683: warn: fcntl: unsupported command 6
MIOpen Error: /root/driver/MLOpen/src/ocl/convolutionocl.cpp:150: Invalid 
filter channel number
build/GCN3_X86/sim/syscall_emul.cc:683: warn: fcntl: unsupported command 6
build/GCN3_X86/sim/syscall_emul.cc:683: warn: fcntl: unsupported command 6
MIOpen Error: /root/driver/MLOpen/src/ocl/convolutionocl.cpp:150: Invalid 
filter channel number
MIOpen Error: 3 at 
/home/tang/gem5-resources/src/gpu/DNNMark/core/include/dnn_utility.h1057Ticks: 
327510244000
Exiting because  exiting with last active thread context



My command line is:
gem5/build/GCN3_X86/gem5.opt gem5/configs/example/apu_se.py
-n 8 --mem-size=12GB 
--benchmark-root=gem5-resources/src/gpu/DNNMark/build/benchmarks/test_fwd_conv 
-c dnnmark_test_fwd_conv 
--options="-config 
gem5-resources/src/gpu/DNNMark/config_example/conv_config.dnnmark -mmap 
gem5-resources/src/gpu/DNNMark/mmap.bin"

and i didn't change the setup of the default setup of conv_config.dnnmark and 
gfx801


May i ask, did i do something wrong here?
Have you ever test those benchmark without error, and could you please show me 
several your configurations?


Thank you so much!













_______________________________________________
 gem5-dev mailing list -- gem5-dev@gem5.org
 To unsubscribe send an email to gem5-dev-le...@gem5.org
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org

Reply via email to