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. 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. 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. 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). So, instead, the expectation is that we build the kernels we want ahead of time, before running the program. 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. 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. 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. 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 PM 429442672 via gem5-dev <gem5-dev@gem5.org> wrote: > Dear Matt, > 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