Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to use PIMProcess #14

Open
m1chaelyeung opened this issue Mar 16, 2020 · 3 comments
Open

How to use PIMProcess #14

m1chaelyeung opened this issue Mar 16, 2020 · 3 comments

Comments

@m1chaelyeung
Copy link

I see PIMProcess is declared in pseudo_inst.cc, so how can I use this function in my program. Should I run my program in fs mode?

@ChenfengZhao
Copy link

I see PIMProcess is declared in pseudo_inst.cc, so how can I use this function in my program. Should I run my program in fs mode?

I have a similar question that there are two functions called "PIMProcess" and "HostProcess" in pseudo_inst.cc. Do you know how can I use them?

@m1chaelyeung
Copy link
Author

I see PIMProcess is declared in pseudo_inst.cc, so how can I use this function in my program. Should I run my program in fs mode?

I have a similar question that there are two functions called "PIMProcess" and "HostProcess" in pseudo_inst.cc. Do you know how can I use them?

I have read the source code of PIMProcess and HostProcess. I only add PIMProcess into my own cpp code and compile it as kernel. Then I set up the parameters of my system and run gem5. But I got a segmentation fault during the runtime and I haven't solved it.
parameters: ./build/X86/gem5.opt --debug-flags=PIM configs/example/se.py --cpu-type=TimingSimpleCPU --cpu-clock=1GHz --caches --l2cache --l1d_size=32kB --l1i_size=32kB --l2_size=2MB --l1d_assoc=4 --l1i_assoc=4 --l2_assoc=8 --enable-pim --pim-type=cpu --num-pim-processors=1 --coherence-granularity=64B -c ./tests/test-progs/pim-hello/hellopim
running output: (pim_test.cpp) : Use PIM to calculate the sum of a and b
8329928000: system.cpu: Encountering PIMProcess command, use PIM processor [0]
takeOverFrom-1
8329928000: system.cpu: SuspendContext 0
8329928000: system.pim_cpu: ActivateContext 0
warn: ClockedObject: Already in the requested power state, request ignored
8329978000: system.pim_cpu: inst is 1135751896167858944
gem5 has encountered a segmentation fault!

--- BEGIN LIBC BACKTRACE ---
./build/X86/gem5.opt(_Z15print_backtracev+0x28)[0x85e8e8]
./build/X86/gem5.opt[0x86effd]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7f5fedfbf390]
./build/X86/gem5.opt(_ZN6X86ISA7Decoder12doResetStateEv+0x2e)[0x99776e]
./build/X86/gem5.opt(_ZN6X86ISA7Decoder7processEv+0x495)[0x997ec5]
./build/X86/gem5.opt(_ZN13BaseSimpleCPU10preExecuteEv+0x61a)[0x7dd65a]
./build/X86/gem5.opt(_ZN15TimingSimpleCPU14completeIfetchEP6Packet+0x182)[0x7d6a92]
./build/X86/gem5.opt(_ZN10EventQueue10serviceOneEv+0x11d)[0x8652dd]
./build/X86/gem5.opt(_Z9doSimLoopP10EventQueue+0x50)[0x87e150]
./build/X86/gem5.opt(_Z8simulatem+0xd1b)[0x87f23b]
./build/X86/gem5.opt[0x1699ada]
./build/X86/gem5.opt[0x8bf335]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x7852)[0x7f5fee27c7b2]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7f5fee3b311c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7f5fee27bf5d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7f5fee3b311c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7f5fee27bf5d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7f5fee3b311c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7f5fee27bf5d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7f5fee3b311c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7f5fee274de9]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x613b)[0x7f5fee27b09b]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7f5fee3b311c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7f5fee27bf5d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7f5fee3b311c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7f5fee274de9]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyRun_StringFlags+0x76)[0x7f5fee2ef236]
./build/X86/gem5.opt(_Z6m5MainiPPc+0x8f)[0x86db5f]
./build/X86/gem5.opt(main+0x33)[0x738503]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f5fec94f830]
./build/X86/gem5.opt(_start+0x29)[0x75dbc9]
--- END LIBC BACKTRACE ---

@m1chaelyeung
Copy link
Author

I see PIMProcess is declared in pseudo_inst.cc, so how can I use this function in my program. Should I run my program in fs mode?

I have a similar question that there are two functions called "PIMProcess" and "HostProcess" in pseudo_inst.cc. Do you know how can I use them?

If you wanna discuss it for more detailed information, send a email(yangyuqing@sjtu.edu.cn) to me and let me know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants