SE mode panic: Tried to execute unmapped address 0

642 views
Skip to first unread message

Jimmy Chao

unread,
Mar 21, 2016, 3:27:34 AM3/21/16
to gem5-gpu Developers List
Hi everyont,

I want to use nvidia SDK simpleStreams example to run on gem5-gpu SE mode.

My steps is: (Use gcc-4.4)

1.Copy nvidia SDK simpleStreams example source code to put gem5-gpu/benchmarks/rodinia/simpleStreams 

   directory.

2.Use gem5-gpu Makefile and Makefile.gem5-fusion to compile simpleStreams and create executable file.

But I ran the executable file on gem5-gpu SE mode occur panic: Tried to execute unmapped address 0.

Nvidia SDK example output:

[ simpleStreams ]

> MapSMtoCores undefined SMversion 5.0!
> Using CUDA device [0]: GeForce GTX 750
> CUDA Capable SM 5.0 hardware with 4 multi-processors
> scale_factor = 1.0000
> array_size   = 16777216

memcopy:       5.40
kernel:         67.51
non-streamed:   66.57 (72.90 expected)
4 streams:      59.42 (68.85 expected with compute capability 1.1 or later)
-------------------------------
PASSED

Press ENTER to exit...

gem5-gpu sim output:

[ simpleStreams ]

> > Using CUDA device [0]: GPGPU-Sim_vGPGPU-Sim Simulator Version 3.2.2 
panic: Tried to execute unmapped address 0.
 @ tick 154459000
[invoke:build/X86_VI_hammer_GPU/arch/x86/faults.cc, line 160]
Memory Usage: 4513804 KBytes
Program aborted at cycle 154459000
Aborted (core dumped)

It's seems can executable the file, because can display the word "[ simpleStreams ]".

gem5-gpu_output.txt
nvidia_output.txt
Makefile
Makefile.gem5-fusion

Jason Lowe-Power

unread,
Mar 21, 2016, 10:28:10 AM3/21/16
to Jimmy Chao, gem5-gpu Developers List
Hi Jimmy,

What version of the CUDA compiler did you use? gem5-gpu only supports CUDA 3.1 and 3.2. 

Another problem could be that it wasn't statically linked, or it's missing some functions from the static linking (this often happens with the C standard library, for some reason). You can check by running "objdump -T <executable> | grep UND". If you find any of the functions that are undefined are actually used in the application, this could cause the error. You can force GCC to statically include certain functions by passing "-u <function>" to the linker. I believe you can define "LDUFLAGS" in your makefile (assuming it includes common.mk) and it will add the options when building. See bfs/Makefile.gem5-fusion.

Hope this helps,
Jason
--

Jason

Jimmy Chao

unread,
Mar 21, 2016, 10:32:19 AM3/21/16
to gem5-gpu Developers List

I use CUDA 3.2 version. Ok, I will check the function and fix them.

Thanks.

Jimmy Chao於 2016年3月21日星期一 UTC+8下午3時27分34秒寫道:

Joel Hestness

unread,
Mar 21, 2016, 10:55:53 AM3/21/16
to Jimmy Chao, gem5-gpu Developers List
Hi Jimmy,
  Another head's up: gem5-gpu doesn't currently support streams. We have not implemented the CUDA calls that set up the stream array like the one in GPGPU-Sim.

  There may be enough code in GPGPU-Sim and the gem5-gpu libcuda for you to figure out how to make streams work in gem5-gpu. If you implement the streams interface, we'd love to incorporate your changes back into gem5-gpu. Let us know!

  Also, for future reference, we have a list of CUDA call implementation statuses here: https://docs.google.com/spreadsheets/d/1dPpw6M7U71SIo94wOY9axlAA6FCt4_I76NW2foZsfi4/edit#gid=1

  Thanks,
  Joel

--
  Joel Hestness
  PhD Candidate, Computer Architecture
  Dept. of Computer Science, University of Wisconsin - Madison
  http://pages.cs.wisc.edu/~hestness/
Reply all
Reply to author
Forward
0 new messages