<html><head></head><body><div dir="auto">Hey Simon, <br><br></div>
<div dir="auto">Thanks for your instant reply! I did not run all tests so far, but at least the non cuda tests that I tried were successful. I can check the others this evening. <br><br></div>
<div dir="auto">I compiled ITK with the same flag, yes. It Was necessary for RTK, otherwise there were compile errors and I thought that RTK might not be c++14 complient.<br><br></div>
<div dir="auto">Regards <br></div>
<div dir="auto">Mathis <br><br></div>
<div dir="auto"><!-- tmjah_g_1299s -->Gesendet mit <!-- tmjah_g_1299e --><a href="http://www.typeapp.com/r?b=11519"><!-- tmjah_g_1299s -->TypeApp<!-- tmjah_g_1299e --></a><!-- tmjah_g_1299s --> <!-- tmjah_g_1299e --></div>
<div class="gmail_quote" >Am 21. Dez. 2017, um 15:51, Simon Rit <<a href="mailto:simon.rit@creatis.insa-lyon.fr" target="_blank">simon.rit@creatis.insa-lyon.fr</a>> schrieb:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div dir="ltr">
<div>
<div>
Hi,
<br>
</div>Thanks for the report. Seems like something is happening in the ITK code. Are other non cuda tests failing?
<br>Did you also compile ITK with C++11? BTW, why is it required?
</div>
<div>
Best regards,
</div>Simon
<br>
</div>
<div class="gmail_extra">
<br>
<div class="gmail_quote">
On Thu, Dec 21, 2017 at 3:20 PM, Mathis Hoffmann
<span dir="ltr"><<a href="mailto:mathis.hoffmann@fau.de" target="_blank">mathis.hoffmann@fau.de</a>></span> wrote:
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div id="m_-4264960079297999483geary-body">
<div>
Hello,
</div>
<div>
<br>
</div>
<div>
I was able to build RTK using Cuda 9 on an Arch Linux machine with gcc 6.4 with only small modifications:
</div>
<div>
<div>
</div>
<div>
#============================
<wbr>=============================
</div>
<div>
diff --git a/cmake/nvcc-check.cmake b/cmake/nvcc-check.cmake
</div>
<div>
index c625b421..0e5c34e9 100644
</div>
<div>
--- a/cmake/nvcc-check.cmake
</div>
<div>
+++ b/cmake/nvcc-check.cmake
</div>
<div>
@@ -46,6 +46,9 @@ if(CUDA_FOUND)
</div>
<div>
if((CMAKE_SYSTEM_NAME MATCHES "Linux" AND CMAKE_COMPILER_IS_GNUCC) OR APPLE)
</div>
<div>
# Compatible gcc can be checked in host_config.h
</div>
<div>
set(GCC_PATH "")
</div>
<div>
+ if(${CUDA_VERSION} VERSION_GREATER "8.99")
</div>
<div>
+ FIND_GCC(GCC_PATH "6" "4")
</div>
<div>
+ endif()
</div>
<div>
if(${CUDA_VERSION} VERSION_GREATER "6.99")
</div>
<div>
FIND_GC C(GCC_PATH "4" "9")
</div>
<div>
endif()
</div>
</div>
<div>
<br>
</div>
<div>
<br>
</div>
<div>
In addition I had to set CMAKE_CXX_FLAGS to -std=gnu++11 manually in the ccmake dialog (unfortunately I was not able to integrate this in the top-level CMakeLists so far, CMake simply ignored it there..).
</div>
<div>
<br>
</div>
<div>
So far, so good. Unfortunately all Cuda tests fail with the same segfault. For example, rtkimportcudatest finishes with
</div>
<div>
<br>
</div>
<div>
<div>
****** Case 1: unsigned short ******
</div>
<div>
<br>
</div>
<div>
Error per Pixel = 0
</div>
<div>
MSE = 0
</div>
<div>
PSNR = infdB
</div>
<div>
QI = 1
</div>
<div>
<br>
</div>
<div>
<br>
</div>
<div>
Test PASSED!
</div>
<div>
<br>
</div>
<div>
Error per Pixel = 0
</div>
<div>
MSE = 0
</div>
<div>
PSNR = infdB
</div>
<div>
QI = 1
</div>
<div>
<br>
</div>
<div>
<br>
</div>
<div>
Test PASSED!
</div>
<div>
<br>
</div>
<div>
<br>
</div>
<div>
****** Case 2: int ******
</div>
<div>
<br>
</div>
<div>
Error per Pixel = 0
</div>
<div>
MSE = 0
</div>
<div>
PSNR = infdB< /div>
<div>
QI = 1
</div>
<div>
<br>
</div>
<div>
<br>
</div>
<div>
Test PASSED!
</div>
<div>
<br>
</div>
<div>
Error per Pixel = 0
</div>
<div>
MSE = 0
</div>
<div>
PSNR = infdB
</div>
<div>
QI = 1
</div>
<div>
<br>
</div>
<div>
<br>
</div>
<div>
Test PASSED!
</div>
<div>
<br>
</div>
<div>
<br>
</div>
<div>
****** Case 3: float ******
</div>
<div>
<br>
</div>
<div>
Error per Pixel = 0
</div>
<div>
MSE = 0
</div>
<div>
PSNR = infdB
</div>
<div>
QI = 1
</div>
<div>
<br>
</div>
<div>
<br>
</div>
<div>
Test PASSED!
</div>
<div>
<br>
</div>
<div>
Error per Pixel = 0
</div>
<div>
MSE = 0
</div>
<div>
PSNR = infdB
</div>
<div>
QI = 1
</div>
<div>
<br>
</div>
<div>
<br>
</div>
<div>
Test PASSED!
</div>
<div>
<br>
</div>
<div>
<br>
</div>
<div>
****** Case 4: double ******
</div>
<div>
<br>
</div>
<div>
Error per Pixel = 0
</div>
<div>
MSE = 0
</div>
<div>
PSNR = infdB
</div>
<div>
QI = 1
</div>
<div>
<br>
</div>
<div>
<br>
</div>
<div>
Test PASSED!
</div>
<div>
<br>
</div>
<div>
Error per Pixel = 0
</div>
<div>
MSE = 0
</div>
<div>
PSNR = infdB
</div>
<div>
QI = 1
</div>
<div>
<br>
</div>
<div>
<br>
<u></u>
<div>
Test PASSED!
</div>
<div>
Segmentation fault (core dumped)
</div>
</div>
<div>
<br>
</div>
<div>
To further investigate what is going wrong here, I ran valgrind. I think the most important message is this:
</div>
<div>
<br>
</div>
<div>
<div>
==30633== Process terminating with default action of signal 11 (SIGSEGV): dumping core
</div>
<div>
==30633== Access not within mapped region at address 0x8
</div>
<div>
==30633== at 0x12240072: (anonymous namespace)::
<wbr>ObjectFactoryBasePrivateInitia
<wbr>lizer::~
<wbr>ObjectFactoryBasePrivateInitia
<wbr>lizer() (in /home/mathis/dev/RTK/RTK-bin/
<wbr>bin/libRTK.so)
</div>
<div>
==30633== by 0x1402B7B1: __cxa_finalize (in /usr/lib/
<a href="http://libc-2.26.so" target="_blank">libc-2.26.so</a>)
</div>
<div>
==30633== by 0x121771D3: ??? (in /home/mathis/dev/RTK/RTK-bin/
<wbr>bin/libRTK.so)
</div>
<div>
==30633== by 0x400FB92: _dl_fini (in /usr/lib/
<a href="http://ld-2.26.so" target="_blank">ld-2.26.so</a>)
</div>
<div>
==30633== by 0x1402B447: __run_exit_handlers (in /usr/lib/
<a href="http://libc-2.26.so" target="_blank">libc-2.26.so</a>)
</div>
<div>
==30633== by 0 x1402B499: exit (in /usr/lib/
<a href="http://libc-2.26.so" target="_blank">libc-2.26.so</a>)
</div>
<div>
==30633== by 0x14014F50: (below main) (in /usr/lib/
<a href="http://libc-2.26.so" target="_blank">libc-2.26.so</a>)
</div>
<div>
==30633== If you believe this happened as a result of a stack
</div>
<div>
==30633== overflow in your program's main thread (unlikely but
</div>
<div>
==30633== possible), you can try to increase the size of the
</div>
<div>
==30633== main thread stack using the --main-stacksize= flag.
</div>
<div>
==30633== The main thread stack size used in this run was 8388608.
</div>
</div>
<div>
<br>
</div>
<div>
I've put the full log here:
<a href="https://pastebin.com/CBjJmUpB" target="_blank">https://pastebin.com/<wbr>CBjJmUpB</a>
</div>
<div>
<br>
</div>
<div>
Does someone have any idea, what is going wrong here?
</div>
<div>
<br>
</div>
<div>
Thanks for any help!
</div>
<span class="HOEnZb"><font color="#888888">
</font><div><font color="#888888">
Mathis
</font></div></span>
</div>
</div>
</div>
<br>______________________________
<wbr>_________________
<br> Rtk-users mailing list
<br>
<a href="mailto:Rtk-users@public.kitware.com">Rtk-users@public.kitware.com</a>
<br>
<a href="https://public.kitware.com/mailman/listinfo/rtk-users" rel="noreferrer" target="_blank">https://public.kitware.com/<wbr>mailman/listinfo/rtk-users</a>
<br>
<br>
</blockquote>
</div>
<br>
</div></blockquote></div></body></html>