Hi all,

It doesn't surprise me at all that GCN3 doesn't build on Arm. Nathanael,
you should be able to ignore those errors. We don't test that combination
of host-target and I have not heard of anyone trying to use that
combination of host-target.

If you're trying to use the GPU model, I'd suggest moving to an x86 host.
Unfortunately, right now the GPU model is intricately tied to the host OS.
Hence why the docker is all but required to get the GPU model working.

Cheers,
Jason

On Mon, Jan 11, 2021 at 10:59 AM Matt Sinclair via gem5-dev <
[email protected]> wrote:

> Hi Nathanael,
>
> I have personally never tested GCN3 on an ARM machine, so I can't say
> definitively if it will work there or not.  But if you are not, I strongly
> recommend testing anything you need to test with GCN3 inside the docker we
> created:
>
> -
> https://gem5.googlesource.com/public/gem5/+/refs/heads/develop/util/dockerfiles/gcn-gpu/README.md
> - http://www.gem5.org/2020/05/27/modern-gpu-applications.html
>
> Thanks,
> Matt
>
> On Mon, Jan 11, 2021 at 8:42 AM Nathanael Premillieu via gem5-dev <
> [email protected]> wrote:
>
>> Hi,
>>
>>
>>
>> I’m currently working on some changes in gem5 and before submitting them,
>> I’m using the testing framework as required.
>>
>> However, even without my changes, I get failures when building GCN3_X86
>> (See the trace at the end).
>>
>> I guess it is linked to the fact that I’m working on an Arm machine. Do I
>> need to set up something to make it work?
>>
>>
>>
>> Thanks,
>>
>> Nathanael Premillieu
>>
>>
>>
>> The trace:
>>
>> /scratch/npremill/gem5_public.git/build/GCN3_X86/gem5.opt
>>
>> You may want to run with only a single ISA(--isa=), use --skip-build, or
>> use 'rerun'.
>>
>> MOESI_AMD_Base-dir.sm:220: Warning: Non-void return ignored, return type
>> is 'bool'
>>
>> MOESI_AMD_Base-dir.sm:1052: Warning: Non-void return ignored, return type
>> is 'Tick'
>>
>> MOESI_AMD_Base-dir.sm:1056: Warning: Non-void return ignored, return type
>> is 'Tick'
>>
>> MOESI_AMD_Base-dir.sm:1060: Warning: Non-void return ignored, return type
>> is 'Tick'
>>
>> MOESI_AMD_Base-dir.sm:1064: Warning: Non-void return ignored, return type
>> is 'Tick'
>>
>> MOESI_AMD_Base-dir.sm:1068: Warning: Non-void return ignored, return type
>> is 'Tick'
>>
>> MOESI_AMD_Base-dir.sm:1072: Warning: Non-void return ignored, return type
>> is 'Tick'
>>
>> MOESI_AMD_Base-dir.sm:1076: Warning: Non-void return ignored, return type
>> is 'Tick'
>>
>> MOESI_AMD_Base-dir.sm:586: Warning: Unused action: l_queueMemWBReq, Write
>> WB data to memory
>>
>> MOESI_AMD_Base-dir.sm:953: Warning: Unused action:
>> mwc_markSinkWriteCancel, Mark to sink impending VicDirty
>>
>> MOESI_AMD_Base-dir.sm:1051: Warning: Unused action: dl_deallocateL3,
>> deallocate the L3 block
>>
>> MOESI_AMD_Base-dir.sm:1087: Warning: Unused action:
>> yy_recycleResponseQueue, recycle response queue
>>
>> MOESI_AMD_Base-dma.sm:187: Warning: Non-void return ignored, return type
>> is 'Tick'
>>
>> MOESI_AMD_Base-dma.sm:191: Warning: Non-void return ignored, return type
>> is 'Tick'
>>
>> MOESI_AMD_Base-CorePair.sm:325: Warning: Non-void return ignored, return
>> type is 'bool'
>>
>> MOESI_AMD_Base-CorePair.sm:802: Warning: Non-void return ignored, return
>> type is 'Tick'
>>
>> MOESI_AMD_Base-CorePair.sm:806: Warning: Non-void return ignored, return
>> type is 'Tick'
>>
>> MOESI_AMD_Base-CorePair.sm:810: Warning: Non-void return ignored, return
>> type is 'Tick'
>>
>> MOESI_AMD_Base-CorePair.sm:814: Warning: Non-void return ignored, return
>> type is 'Tick'
>>
>> GPU_VIPER-TCP.sm:166: Warning: Non-void return ignored, return type is
>> 'bool'
>>
>> GPU_VIPER-TCP.sm:451: Warning: Non-void return ignored, return type is
>> 'Tick'
>>
>> GPU_VIPER-TCP.sm:455: Warning: Non-void return ignored, return type is
>> 'Tick'
>>
>> GPU_VIPER-TCP.sm:385: Warning: Unused action: norl_issueRdBlkOrloadDone,
>> local load done
>>
>> GPU_VIPER-SQC.sm:143: Warning: Non-void return ignored, return type is
>> 'bool'
>>
>> GPU_VIPER-SQC.sm:275: Warning: Non-void return ignored, return type is
>> 'Tick'
>>
>> GPU_VIPER-SQC.sm:279: Warning: Non-void return ignored, return type is
>> 'Tick'
>>
>> GPU_VIPER-TCC.sm:168: Warning: Non-void return ignored, return type is
>> 'bool'
>>
>> GPU_VIPER-TCC.sm:551: Warning: Non-void return ignored, return type is
>> 'Tick'
>>
>> GPU_VIPER-TCC.sm:555: Warning: Non-void return ignored, return type is
>> 'Tick'
>>
>> GPU_VIPER-TCC.sm:559: Warning: Non-void return ignored, return type is
>> 'Tick'
>>
>> GPU_VIPER-TCC.sm:583: Warning: Non-void return ignored, return type is
>> 'Tick'
>>
>> MOESI_AMD_Base-L3cache.sm:196: Warning: Non-void return ignored, return
>> type is 'bool'
>>
>> MOESI_AMD_Base-L3cache.sm:611: Warning: Non-void return ignored, return
>> type is 'Tick'
>>
>> MOESI_AMD_Base-L3cache.sm:615: Warning: Non-void return ignored, return
>> type is 'Tick'
>>
>> MOESI_AMD_Base-L3cache.sm:619: Warning: Non-void return ignored, return
>> type is 'Tick'
>>
>> MOESI_AMD_Base-L3cache.sm:623: Warning: Non-void return ignored, return
>> type is 'Tick'
>>
>> MOESI_AMD_Base-L3cache.sm:561: Warning: Unused action:
>> rd_copyDataFromRequest, write data to L3
>>
>> In file included from build/GCN3_X86/dev/hsa/hsa_packet_processor.hh:44,
>>
>>                  from build/GCN3_X86/dev/hsa/hsa_device.hh:43,
>>
>>                  from
>> build/GCN3_X86/gpu-compute/gpu_command_processor.hh:50,
>>
>>                  from build/GCN3_X86/gpu-compute/dispatcher.cc:41:
>>
>> build/GCN3_X86/dev/hsa/hsa.h:93:2: error: #error "BIGENDIAN_CPU or
>> LITTLEENDIAN_CPU must be defined"
>>
>>    93 | #error "BIGENDIAN_CPU or LITTLEENDIAN_CPU must be defined"
>>
>>       |  ^~~~~
>>
>> In file included from build/GCN3_X86/dev/hsa/hsa_packet_processor.hh:44,
>>
>>                  from build/GCN3_X86/dev/hsa/hsa_device.hh:43,
>>
>>                  from
>> build/GCN3_X86/gpu-compute/gpu_command_processor.hh:50,
>>
>>                  from
>> build/GCN3_X86/gpu-compute/gpu_command_processor.cc:36:
>>
>> build/GCN3_X86/dev/hsa/hsa.h:93:2: error: #error "BIGENDIAN_CPU or
>> LITTLEENDIAN_CPU must be defined"
>>
>>    93 | #error "BIGENDIAN_CPU or LITTLEENDIAN_CPU must be defined"
>>
>>       |  ^~~~~
>>
>> In file included from build/GCN3_X86/dev/hsa/hsa_packet_processor.hh:44,
>>
>>                  from build/GCN3_X86/dev/hsa/hsa_device.hh:43,
>>
>>                  from build/GCN3_X86/gpu-compute/gpu_compute_driver.cc:41:
>>
>> build/GCN3_X86/dev/hsa/hsa.h:93:2: error: #error "BIGENDIAN_CPU or
>> LITTLEENDIAN_CPU must be defined"
>>
>>    93 | #error "BIGENDIAN_CPU or LITTLEENDIAN_CPU must be defined"
>>
>>       |  ^~~~~
>>
>> scons: *** [build/GCN3_X86/gpu-compute/gpu_compute_driver.o] Error 1
>>
>> scons: *** [build/GCN3_X86/gpu-compute/gpu_command_processor.o] Error 1
>>
>> scons: *** [build/GCN3_X86/gpu-compute/dispatcher.o] Error 1
>>
>> In file included from build/GCN3_X86/arch/gcn3/insts/instructions.cc:40:
>>
>> build/GCN3_X86/arch/gcn3/insts/inst_util.hh: In function 'void
>> Gcn3ISA::processDPP(GPUDynInstPtr, Gcn3ISA::InFmt_VOP_DPP, T&) [with T =
>> Gcn3ISA::VecOperand<unsigned int, false>]':
>>
>> build/GCN3_X86/arch/gcn3/insts/inst_util.hh:416:10: note: parameter
>> passing for argument of type 'Gcn3ISA::InFmt_VOP_DPP' changed in GCC 9.1
>>
>>   416 |     void processDPP(GPUDynInstPtr gpuDynInst, InFmt_VOP_DPP
>> dppInst,
>>
>>       |          ^~~~~~~~~~
>>
>> build/GCN3_X86/arch/gcn3/insts/inst_util.hh: In function 'void
>> Gcn3ISA::processDPP(GPUDynInstPtr, Gcn3ISA::InFmt_VOP_DPP, T&) [with T =
>> Gcn3ISA::VecOperand<float, false>]':
>>
>> build/GCN3_X86/arch/gcn3/insts/inst_util.hh:416:10: note: parameter
>> passing for argument of type 'Gcn3ISA::InFmt_VOP_DPP' changed in GCC 9.1
>>
>> build/GCN3_X86/arch/gcn3/insts/inst_util.hh: In function 'void
>> Gcn3ISA::processSDWA_src(Gcn3ISA::InFmt_VOP_SDWA, T&, T&, T&, T&) [with T =
>> Gcn3ISA::VecOperand<unsigned int, false>]':
>>
>> build/GCN3_X86/arch/gcn3/insts/inst_util.hh:852:10: note: parameter
>> passing for argument of type 'Gcn3ISA::InFmt_VOP_SDWA' changed in GCC 9.1
>>
>>   852 |     void processSDWA_src(InFmt_VOP_SDWA sdwaInst, T & src0, T &
>> origSrc0,
>>
>>       |          ^~~~~~~~~~~~~~~
>>
>> Traceback (most recent call last):
>>
>>   File
>> "/scratch/npremill/gem5_public.git/tests/../ext/testlib/runner.py", line
>> 205, in setup
>>
>>     fixture.setup(testitem)
>>
>>   File "/scratch/npremill/gem5_public.git/tests/gem5/fixture.py", line
>> 129, in setup
>>
>>     self._setup(testitem)
>>
>>   File "/scratch/npremill/gem5_public.git/tests/gem5/fixture.py", line
>> 174, in _setup
>>
>>     log_call(log.test_log, command, time=None, stderr=sys.stderr)
>>
>>   File
>> "/scratch/npremill/gem5_public.git/tests/../ext/testlib/helper.py", line
>> 197, in log_call
>>
>>     raise subprocess.CalledProcessError(retval, cmdstr)
>>
>> subprocess.CalledProcessError: Command 'scons -C
>> /scratch/npremill/gem5_public.git -j 50 --ignore-style
>> /scratch/npremill/gem5_public.git/build/GCN3_X86/gem5.opt' returned
>> non-zero exit status 2.
>>
>>
>>
>> Exception raised while setting up fixture for Test Library
>>
>> ==================================================================================
>> No testing done
>> =====================================================================================
>>
>> Traceback (most recent call last):
>>
>>   File "main.py", line 26, in <module>
>>
>>     sys.exit(testlib())
>>
>>   File "/scratch/npremill/gem5_public.git/tests/../ext/testlib/main.py",
>> line 328, in main
>>
>>     result = globals()['do_'+configuration.config.command]()
>>
>>   File "/scratch/npremill/gem5_public.git/tests/../ext/testlib/main.py",
>> line 300, in do_run
>>
>>     return run_schedule(test_schedule, log_handler)
>>
>>   File "/scratch/npremill/gem5_public.git/tests/../ext/testlib/main.py",
>> line 274, in run_schedule
>>
>>     log_handler.finish_testing()
>>
>>   File "/scratch/npremill/gem5_public.git/tests/../ext/testlib/main.py",
>> line 68, in finish_testing
>>
>>     self.result_handler.close()
>>
>>   File
>> "/scratch/npremill/gem5_public.git/tests/../ext/testlib/handlers.py", line
>> 166, in close
>>
>>     self._save()
>>
>>   File
>> "/scratch/npremill/gem5_public.git/tests/../ext/testlib/handlers.py", line
>> 158, in _save
>>
>>     result.JUnitSavedResults.save(
>>
>>   File
>> "/scratch/npremill/gem5_public.git/tests/../ext/testlib/result.py", line
>> 330, in save
>>
>>     results = JUnitTestSuites(results)
>>
>>   File
>> "/scratch/npremill/gem5_public.git/tests/../ext/testlib/result.py", line
>> 233, in __init__
>>
>>     self.attributes.append(self.result_attribute(result,
>>
>>   File
>> "/scratch/npremill/gem5_public.git/tests/../ext/testlib/result.py", line
>> 241, in result_attribute
>>
>>     return XMLAttribute(self.result_map[result], count)
>>
>> KeyError: 0
>> _______________________________________________
>> gem5-dev mailing list -- [email protected]
>> To unsubscribe send an email to [email protected]
>> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
>
> _______________________________________________
> gem5-dev mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to