undefined symbol: _ZTI12cache_config

191 views
Skip to first unread message

Huy Tran

<trandinhhuy99@gmail.com>
unread,
Dec 21, 2022, 3:20:24 PM12/21/22
to accel-sim
Hi accel-sim team,

I'm following the artifact manual here. I'm at the stage of launching simulation jobs and I'm using a Pascal 1050Ti. When running PTX mode, some of the benchmarks got an error

/accel-sim-framework/gpu-simulator/bin/release/accel-sim.out: undefined symbol: _ZTI12cache_config

when I'm trying to relaunch the job with 

$ACCELSIM_ROOT/bin/release/accel-sim.out  -config ./gpgpusim.config -trace ./traces/kernelslist.g

What do you think are some of the possible causes for this error? Since I can't find anything related to that symbol throughout the whole software.

Thanks,
Huy

Junrui Pan

<panjunrui100@gmail.com>
unread,
Dec 22, 2022, 7:11:34 PM12/22/22
to accel-sim
Hi, 

Did you source the setup_envrionment.sh file? The undefined symbol is usually because you did not source the file. Remember, you need to do this for every new terminal instance.

Also, the way you relaunch the jobs is for SASS mode. If you want to run in PTX mode, you should run the application binary directly after doing the source bash file step.

Thanks,
Junrui

Huy Tran

<trandinhhuy99@gmail.com>
unread,
Jan 12, 2023, 3:36:01 AM1/12/23
to accel-sim
Hi Junrui,

Yes, I did "source the setup_envrionment.sh" but the problem is still the same. 

Thanks,
Huy

Junrui Pan

<panjunrui100@gmail.com>
unread,
Jan 12, 2023, 8:17:20 PM1/12/23
to accel-sim
Weird.


We "hijack" the CUDA driver. So the application instead of sending works to the real GPU, it's being redirected to the simulator.
The error is a Linux means the function or the variable cannot be found in the shared object file (.so).

See below. Before sourcing the setup_environment I have the exact error you have:
***
paccel-sim-framework$ gpu-simulator/bin/release/accel-sim.out -config ./gpgpusim.config -trace ./traces/kernelslist.g
gpu-simulator/bin/release/accel-sim.out: symbol lookup error: gpu-simulator/bin/release/accel-sim.out: undefined symbol: _ZTI12cache_config

***

After sourcing the setup_environment:
***
accel-sim-framework$ gpu-simulator/bin/release/accel-sim.out -config ./gpgpusim.config -trace ./traces/kernelslist.g
Accel-Sim [build accelsim-commit-760af88f231ad03683ee7b5ea15dcffb4948b1e2_modified_6.0]
*** GPGPU-Sim Simulator Version 4.2.0 [build gpgpu-sim_git-commit-ad3558dea61283ddacc713e8b72158bc6d766ff3_modified_5.0] ***
GPGPU-Sim ** ERROR: Cannot open config file './gpgpusim.config'
***
The error is just because I ran this in a random folder. But you can see the function is found in the object file. The error you are having is gone.

Can you share your environment variables? This can be done by running 'env'
Focus on "LD_LIBRARY_PATH" (env | grep LD)
It should include the accel-sim's lib folder. Something like below
***
LD_LIBRARY_PATH=/home/pan251/accel-sim-framework/gpu-simulator/gpgpu-sim/lib/gcc-9.4.0/cuda-11040/release:/usr/local/cuda-11.4/lib64:
***
You can also try below

***
accel-sim-framework$ nm -D /home/pan251/accel-sim-framework/gpu-simulator/gpgpu-sim/lib/gcc-9.4.0/cuda-11040/release/libcudart.so | grep _ZTI12cache_config
00000000003df978 V _ZTI12cache_config
***

If you don't see the libcudart.so file then you did not build the simulator successfully. Try make clean and rebuild, and check for error messages.

Sorry about the bad formatting. I hate google groups' formatting. If you still have error, feel free to create an issue in the repo and continue our discussion there.

Thanks,
Junrui
Reply all
Reply to author
Forward
0 new messages