[gem5-users] gem5 + DGPU (GCN3) build error

2022-03-02 Thread David Fong via gem5-users
Hi,

I built gem5 + DGPU (GCN3) (gfx900) and ran DNNMark with this command-line

[gem5-resources]  docker run --rm -v ${PWD}:${PWD} 
-v${PWD}/cachefiles:/root/.cache/miopen/2.9.0 -w ${PWD} 
gcr.io/gem5-test/gcn-gpu:v21-2 python3 generate_cachefiles.py cachefiles.csv 
--gfx-version=gfx900 --num-cus=4

[gem5-gpu-dnn] docker run --rm -v ${PWD}:${PWD} -v 
${PWD}/gem5/gem5-resources/src/gpu/DNNMark/cachefiles:/root/.cache/miopen/2.9.0 
-w ${PWD} gcr.io/gem5-test/gcn-gpu:v21-2 gem5/build/GCN3_X86/gem5.opt 
gem5/configs/example/apu_se.py --dgpu --gfx-version=gfx900 -n3 
--benchmark-root=gem5/gem5-resources/src/gpu/DNNMark/build/benchmarks/test_fwd_softmax
 -cdnnmark_test_fwd_softmax --options="-config 
gem5/gem5-resources/src/gpu/DNNMark/config_example/softmax_config.dnnmark -mmap 
gem5/gem5-resources/src/gpu/DNNMark/mmap.bin"

and got this error message :

build/GCN3_X86/sim/syscall_emul.cc:683: warn: fcntl: unsupported command 6
build/GCN3_X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/GCN3_X86/sim/syscall_emul.cc:74: warn: ignoring syscall mprotect(...)
build/GCN3_X86/sim/syscall_emul.cc:74: warn: ignoring syscall mprotect(...)
build/GCN3_X86/sim/syscall_emul.cc:74: warn: ignoring syscall mprotect(...)
build/GCN3_X86/sim/syscall_emul.cc:74: warn: ignoring syscall mprotect(...)
sh: 1: Cannot fork
MIOpen Error: /root/driver/MLOpen/src/hipoc/hipoc_program.cpp:195: Cant find 
file: /tmp/miopen-MIOpenSoftmax.cl-9c04-5b2f-4076-0450/MIOpenSoftmax.cl.o
build/GCN3_X86/sim/syscall_emul.cc:74: warn: ignoring syscall mbind(...)
build/GCN3_X86/sim/syscall_emul.cc:74: warn: ignoring syscall mbind(...)
build/GCN3_X86/sim/syscall_emul.cc:74: warn: ignoring syscall mbind(...)
build/GCN3_X86/sim/syscall_emul.cc:74: warn: ignoring syscall mbind(...)
MIOpen Error: 7 at 
/home/dfong/work/ext_ips/gem5-gpu-dnn/gem5/gem5-resources/src/gpu/DNNMark/core/include/dnn_wrapper.h485Ticks:
 571357584000
Exiting because  exiting with last active thread context

Am I missing a step in compilation process or some other settings ?

Thanks,

David

___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: gem5 cpu-tests and benchmarks documentation

2022-03-02 Thread Bobby Bruce via gem5-users
Hey David,

Having some better web-portal to list our resources is on our TODO list.
For now there's no official list. You can find stuff in our gem5 resources
repo: https://gem5.googlesource.com/public/gem5-resources/. There's a file
'resources.json' that the gem5 standard library reads to determine where
resources are, and where their sources exist with the repo, that might help
you find things. You can also search this repository for sources. The
README's typically contain links to pre-built resources if they exist. It's
far from a great solution, but that's how we do things for now.
gem5-resources is fairly new and we've still got a bit to workout.

Kind regards,
Bobby
--
Dr. Bobby R. Bruce
Room 3050,
Kemper Hall, UC Davis
Davis,
CA, 95616

web: https://www.bobbybruce.net


On Tue, Mar 1, 2022 at 3:39 PM David Fong via gem5-users <
gem5-users@gem5.org> wrote:

> Hi,
>
>
>
> Is there documentation on website that lists the groups of tests and
> benchmarks  that are precompiled and can be downloaded for each CPU type
> (like x86, arm) ?
>
>
>
> Like these cmd-lines to get Bubblesort for each CPU type ? (x86,arm)
>
>
>
> wget dist.gem5.org/dist/v21-2/test-progs/cpu-tests/bin/x86/Bubblesort
>
> wget dist.gem5.org/dist/v21-2/test-progs/cpu-tests/bin/arm/Bubblesort
>
>
>
> I found that there are some specific cpu-tests from this webpage like
> above but no additional information for more tests
>
>
>
> https://www.gem5.org/documentation/learning_gem5/part1/extending_configs
>
>
>
> Thanks,
>
>
>
> David
>
>
>
>
> ___
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: CHI

2022-03-02 Thread Javed Osmany via gem5-users
Hello

So I thought the reason why my previous command line options were not being 
parsed in the latest version of gem5 (21..2.1.0) could be because the CHI.py 
and CHI_config.py files were not being compiled when generating the executable 
gem5.opt binary.

So I tried the following command:

rm -rf build/ARM
scons -j4 build/ARM/gem5.opt --default=ARM PROTOCOL=CHI

The above command terminates with:

Building in /home/j00533938/gitlab/gem5-21.2.1.0/gem5/build/ARM
Using saved variables file 
/home/j00533938/gitlab/gem5-21.2.1.0/gem5/build/variables/ARM

scons: *** Invalid value for option PROTOCOL: CHI.  Valid values are: 
['GPU_VIPER', 'GPU_VIPER_Baseline', 'GPU_VIPER_Region', 'GPU_RfO', 
'MOESI_AMD_Base', 'MESI_Two_Level', 'MESI_Three_Level', 'MI_example', 
'MOESI_CMP_directory', 'MOESI_CMP_token', 'MOESI_hammer', 'Garnet_standalone', 
'None', 'MSI']

Thus it looks like CHI is not supported in this latest version of gem5 ??

So looking in build_opts/ARM we have:

j00533938@lhrpbig12:~/gitlab/gem5-21.2.1.0/gem5/build_opts$ more ARM
TARGET_ISA = 'arm'
CPU_MODELS = 'AtomicSimpleCPU,TimingSimpleCPU,O3CPU,MinorCPU'
PROTOCOL = 'MOESI_CMP_directory'


Is CHI protocol not supported in the latest gem5 release?

Tks in advance

JO

From: Javed Osmany
Sent: 02 March 2022 15:00
To: gem5 users mailing list 
Cc: Javed Osmany 
Subject: CHI

Hello

I am using the latest version of gem5 (21.2.1.0).

Previously, when using gem5 version 21.0.0.0, in the function "def 
define_options(parser)" (in CHI.py), I added some command line options as such:

def define_options(parser):
parser.add_option("--chi-config", action="store", type="string",
  default=None,
  help="NoC config. parameters and bindings. "
   "Required for CustomMesh topology")
## Add command line options specifically for the [Big, Middle, Little]
## Cluster.
parser.add_option("--verbose", action="store", type="string",
  default="false",
  help="Disable/Enable verbose printing for debugging")
parser.add_option("--num-clusters", action="store", type="string",
  default=0,
  help="Number of Clusters in the system")

I was then able to specify the options when running as:

./build/ARM/gem5.opt 
--outdir=m5out_parsec_blackscoles_1_clust_little_4_cpu_all_shared_l2 
configs/example/se_kiri
n_custom.py --ruby --topology=Pt2Pt --cpu-type=DerivO3CPU --num-cpus=4 
--num-dirs=1 --num-l3caches=1 --verbose=true --num-clusters=0 .

This then worked okay. The new command line options I added was recognised okay.

Now with gem5 21.2.1.0, I have added the same options to the 
define_options(parser) function (in CHI.py) as such:

def define_options(parser):
parser.add_argument("--chi-config", action="store", type=str,
  default=None,
  help="NoC config. parameters and bindings. "
   "Required for CustomMesh topology")
## Add command line options specifically for the [Big, Middle, Little]
## Cluster.
parser.add_option("--verbose", action="store", type="string",
  default="false",
  help="Disable/Enable verbose printing for debugging")
parser.add_option("--num-clusters", action="store", type="string",
  default=0,
  help="Number of Clusters in the system")
 :
 :


But the following command does not work anymore:

./build/ARM/gem5.opt 
--outdir=m5out_parsec_blackscoles_1_clust_little_4_cpu_all_shared_l2 
configs/example/se_kiri
n_custom.py --ruby --topology=Pt2Pt --cpu-type=DerivO3CPU --num-cpus=4 
--num-dirs=1 --num-l3caches=1 --verbose=true --num-clusters=0


The error message being:

command line: ./build/ARM/gem5.opt 
--outdir=m5out_parsec_blackscoles_1_clust_little_4_cpu_all_shared_l2 
configs/example/se_kirin_custom.py --ruby --topology=Pt2Pt 
--cpu-type=DerivO3CPU --num-cpus=4 --num-dirs=1 --num-l3caches=1 --verbose=true 
--num-clusters=0

Usage: se_kirin_custom.py [options]

se_kirin_custom.py: error: no such option: --verbose

Any pointers why the new command line options I had previously specified are 
now not working?

Tks in advance

JO

___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] CHI

2022-03-02 Thread Javed Osmany via gem5-users
Hello

I am using the latest version of gem5 (21.2.1.0).

Previously, when using gem5 version 21.0.0.0, in the function "def 
define_options(parser)" (in CHI.py), I added some command line options as such:

def define_options(parser):
parser.add_option("--chi-config", action="store", type="string",
  default=None,
  help="NoC config. parameters and bindings. "
   "Required for CustomMesh topology")
## Add command line options specifically for the [Big, Middle, Little]
## Cluster.
parser.add_option("--verbose", action="store", type="string",
  default="false",
  help="Disable/Enable verbose printing for debugging")
parser.add_option("--num-clusters", action="store", type="string",
  default=0,
  help="Number of Clusters in the system")

I was then able to specify the options when running as:

./build/ARM/gem5.opt 
--outdir=m5out_parsec_blackscoles_1_clust_little_4_cpu_all_shared_l2 
configs/example/se_kiri
n_custom.py --ruby --topology=Pt2Pt --cpu-type=DerivO3CPU --num-cpus=4 
--num-dirs=1 --num-l3caches=1 --verbose=true --num-clusters=0 .

This then worked okay. The new command line options I added was recognised okay.

Now with gem5 21.2.1.0, I have added the same options to the 
define_options(parser) function (in CHI.py) as such:

def define_options(parser):
parser.add_argument("--chi-config", action="store", type=str,
  default=None,
  help="NoC config. parameters and bindings. "
   "Required for CustomMesh topology")
## Add command line options specifically for the [Big, Middle, Little]
## Cluster.
parser.add_option("--verbose", action="store", type="string",
  default="false",
  help="Disable/Enable verbose printing for debugging")
parser.add_option("--num-clusters", action="store", type="string",
  default=0,
  help="Number of Clusters in the system")
 :
 :


But the following command does not work anymore:

./build/ARM/gem5.opt 
--outdir=m5out_parsec_blackscoles_1_clust_little_4_cpu_all_shared_l2 
configs/example/se_kiri
n_custom.py --ruby --topology=Pt2Pt --cpu-type=DerivO3CPU --num-cpus=4 
--num-dirs=1 --num-l3caches=1 --verbose=true --num-clusters=0


The error message being:

command line: ./build/ARM/gem5.opt 
--outdir=m5out_parsec_blackscoles_1_clust_little_4_cpu_all_shared_l2 
configs/example/se_kirin_custom.py --ruby --topology=Pt2Pt 
--cpu-type=DerivO3CPU --num-cpus=4 --num-dirs=1 --num-l3caches=1 --verbose=true 
--num-clusters=0

Usage: se_kirin_custom.py [options]

se_kirin_custom.py: error: no such option: --verbose

Any pointers why the new command line options I had previously specified are 
now not working?

Tks in advance

JO

___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s