Hi
#else
passes.push_back("workitem-handler-chooser");
passes.push_back("workgroup");
passes.push_back("globaldce");
passes.push_back("flatten");
passes.push_back("wi-aa");
passes.push_back("workitemrepl");
// passes.push_back("STANDARD_OPTS");
const std::string wg_method =
pocl_get_string_option("POCL_WORK_GROUP_METHOD", "loopvec");
#endif
I commented all the passes and only push these these passes (as above),
when I run the cl file compile into the so. The so is lack of some variable
that is undefined .
These the output, that some global variable is undefined.
localhost:/system/bin # nm /system/lib64/crtend_so.o -o
/sdcard/pocl/kcache/JE/DDOPBDCLJEBGFADLGMMPEJPMKKFBGLFFAELBI/scarlar_add/1-1-1/scarlar_add.so
| grep " U "
/sdcard/pocl/kcache/JE/DDOPBDCLJEBGFADLGMMPEJPMKKFBGLFFAELBI/scarlar_add/1-1-1/scarlar_add.so:
U __cxa_atexit@@LIBC
/sdcard/pocl/kcache/JE/DDOPBDCLJEBGFADLGMMPEJPMKKFBGLFFAELBI/scarlar_add/1-1-1/scarlar_add.so:
U __cxa_finalize@@LIBC
/sdcard/pocl/kcache/JE/DDOPBDCLJEBGFADLGMMPEJPMKKFBGLFFAELBI/scarlar_add/1-1-1/scarlar_add.so:
U __register_atfork@@LIBC
/sdcard/pocl/kcache/JE/DDOPBDCLJEBGFADLGMMPEJPMKKFBGLFFAELBI/scarlar_add/1-1-1/scarlar_add.so:
U _group_id_x
/sdcard/pocl/kcache/JE/DDOPBDCLJEBGFADLGMMPEJPMKKFBGLFFAELBI/scarlar_add/1-1-1/scarlar_add.so:
U _group_id_y
/sdcard/pocl/kcache/JE/DDOPBDCLJEBGFADLGMMPEJPMKKFBGLFFAELBI/scarlar_add/1-1-1/scarlar_add.so:
U _group_id_z
/sdcard/pocl/kcache/JE/DDOPBDCLJEBGFADLGMMPEJPMKKFBGLFFAELBI/scarlar_add/1-1-1/scarlar_add.so:
U _local_id_x
/sdcard/pocl/kcache/JE/DDOPBDCLJEBGFADLGMMPEJPMKKFBGLFFAELBI/scarlar_add/1-1-1/scarlar_add.so:
U _local_id_y
/sdcard/pocl/kcache/JE/DDOPBDCLJEBGFADLGMMPEJPMKKFBGLFFAELBI/scarlar_add/1-1-1/scarlar_add.so:
U _local_id_z
localhost:/system/bin #
I do not how to handle it . can you tell me the which passes generate it why
it failed, I can change the code .
Environment:
Arm64 server, non-GPUs
BR
Owen
-----邮件原件-----
发件人: Pekka Jääskeläinen [mailto:[email protected]]
发送时间: 2017年11月16日 20:29
收件人: Wuweijia <[email protected]>; Portable Computing Language development
discussion <[email protected]>
抄送: Fanbohao <[email protected]>
主题: Re: 答复: 答复: [pocl-devel] [POCL_DBG] How to debug the cl file.
On 16.11.2017 08:46, Wuweijia wrote:
> I do not how the pocl add the definition of _local_id_x ,
> _local_id_y ... to the final shared object. Can you show me where or
> how. I check the code that _local_id_x _local_id_y variable is
> external, not the definition.
They are placeholder declarations which are converted to "context array" field
accesses by the LLVM pass in lib/llvmopencl/Workgroup.cc (privatizeContext).
The "context array" is given as a hidden extra argument to the kernel and
contains ids etc. related to the launch of the kernel.
For non-GPUs, the ids are iterated by the parallel work item loops generated to
execute the whole work-group's WIs in a single function.
BR,
--
Pekka
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
pocl-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pocl-devel