At first, thanks for your last reply of "tempfile " error. I'm using RHEL 5.4, so I should vi /opt/hicuda/bin/hicuda script and change "tempfile" command to "mktemp".
When I compile matrixMul example using make, found some error informatino following, I'm wondering how to fix this.
# make
hicuda -o mm_hicuda mm_hicuda.c common.c
Signal: Segmentation fault in IPA Summary phase.
Error: Signal Segmentation fault in phase IPA Summary - processing aborted
*** Internal stack backtrace:
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/be.so
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/be.so
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/be.so
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/be.so
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/be.so(ErrMsgLine+0x2f)
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/be.so
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/be.so
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/ipl.so(_ZN9SUMMARIZEIL7PROGRAM0EE9SummarizeEP2WN+0x264)
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/ipl.so(Perform_Procedure_Summary_Phase+0x1fb)
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/wopt.so(Pre_Optimizer+0x2bbc)
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/ipl
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/ipl
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/ipl(main+0x6c3)
/lib/libc.so.6(__libc_start_main+0xdc)
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/ipl(__gxx_personality_v0+0x2a5)
opencc INTERNAL ERROR: /opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/ipl died due to signal 4
==================================================================
CUDA code generation FAILED (in opencc).
The error message should be right above, starting with ###.
If you believe that there is a bug in the hiCUDA compiler,
please submit a report to: http://sourceforge.net/projects/hicuda/
==================================================================
make: *** 错误 1
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
At first, thanks for your last reply of "tempfile " error. I'm using RHEL 5.4, so I should vi /opt/hicuda/bin/hicuda script and change "tempfile" command to "mktemp".
When I compile matrixMul example using make, found some error informatino following, I'm wondering how to fix this.
OS: RHEL 5.4 32bit
gcc version: 4.1.2 20080704
Open64 Compiler Suite: Version 4.1
# make
hicuda -o mm_hicuda mm_hicuda.c common.c
Signal: Segmentation fault in IPA Summary phase.
Error: Signal Segmentation fault in phase IPA Summary - processing aborted
*** Internal stack backtrace:
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/be.so
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/be.so
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/be.so
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/be.so
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/be.so(ErrMsgLine+0x2f)
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/be.so
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/be.so
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/ipl.so(_ZN9SUMMARIZEIL7PROGRAM0EE9SummarizeEP2WN+0x264)
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/ipl.so(Perform_Procedure_Summary_Phase+0x1fb)
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/wopt.so(Pre_Optimizer+0x2bbc)
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/ipl
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/ipl
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/ipl(main+0x6c3)
/lib/libc.so.6(__libc_start_main+0xdc)
/opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/ipl(__gxx_personality_v0+0x2a5)
opencc INTERNAL ERROR: /opt/hicuda/lib/gcc-lib/x86_64-open64-linux/4.1/ipl died due to signal 4
==================================================================
CUDA code generation FAILED (in opencc).
The error message should be right above, starting with ###.
If you believe that there is a bug in the hiCUDA compiler,
please submit a report to:
http://sourceforge.net/projects/hicuda/
==================================================================
make: *** 错误 1
Thanks for reporting the problem. This appears to be a bug in the Open64 compiler. Here is a diff on the problematic file:
Index: src/osprey/ipa/local/ipl_summarize_util.h
===================================================================
-- src/osprey/ipa/local/ipl_summarize_util.h (revision 35)
+++ src/osprey/ipa/local/ipl_summarize_util.h (working copy)
@@ -314,14 +314,22 @@
// be deleted from hash tables in Restore_from_check_point.
// -------------------------------------------
-namespace {
- template <class X>
- struct ptr_hash {
- size_t operator() (const X* s) const {
- return reinterpret_cast<size_t> (s);
- }
- };
-}
+// namespace {
+template <class X>
+struct ptr_hash
+{
+ size_t operator() (const X* s) const
+ {
+ return reinterpret_cast<size_t> (s);
+ }
+};
+// }
typedef hash_map<CODEREP*, INT, ptr_hash<CODEREP>, std::equal_to<CODEREP*>,
mempool_allocator<CODEREP*> > CHI_CR_TO_INT_MAP;
David