<div dir="ltr">Good day all<div><br></div><div>Dear Liliana,</div><div><br></div><div>Thanks for your respond, </div><div>I'll look into the points you mentioned, I'm currently more interested in cluster tools and running on GPU.</div><div>as for the GPU issue,</div><div>I did follow the links and did everything by detail, one thing i changed from the guide is not installing the SDK since as you said it comes with the CUDA toolkit. however i got a new error and im hoping someone can help me with it. By the look of it I'm guessing something is wrong with the compilation of either the CUDA drivers or the gcc (I'm using 4.8.4).</div><div><br></div><div>Thanks again for your help, </div><div>Ezzat</div><div><br></div><div>####</div><div><div>gate@gate:~/Desktop/gate/gate_v7.2-build$ make</div><div>[ 2%] Built target itkzlib</div><div>[ 6%] Built target MetaIO</div><div>[ 6%] Building NVCC (Device) object CMakeFiles/Gate.dir/source/gpu/src/./Gate_generated_GateGPUManager.cu.o</div><div>/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h(432): error: identifier "nullptr" is undefined</div><div><br></div><div>/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h(432): error: expected a ";"</div><div><br></div><div>/usr/include/x86_64-linux-gnu/c++/4.8/bits/c++config.h(190): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/exception(63): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/exception(68): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/exception(76): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/exception(83): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/exception(93): error: expected a "{"</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(64): error: function "std::current_exception" returns incomplete type "std::__exception_ptr::exception_ptr"</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(64): error: expected a "{"</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(79): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(81): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(82): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(84): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(86): error: declaration is incompatible with previous "std::current_exception"</div><div>(64): here</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(86): error: use of a local type to declare a function</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(86): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(87): error: use of a local type to declare a function</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(90): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(92): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(95): error: incomplete type is not allowed</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(95): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(116): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(126): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(143): error: use of a local type to declare a function</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(144): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(147): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(152): error: use of a local type to declare a function</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(153): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(156): error: use of a local type to declare a function</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(157): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(160): error: use of a local type to declare a function</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(161): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/bits/exception_ptr.h(169): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/bits/nested_exception.h(57): error: incomplete type is not allowed</div><div><br></div><div>/usr/include/c++/4.8/bits/nested_exception.h(60): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/bits/nested_exception.h(66): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/bits/nested_exception.h(70): error: identifier "rethrow_exception" is undefined</div><div><br></div><div>/usr/include/c++/4.8/bits/nested_exception.h(73): error: function "std::nested_exception::nested_ptr" returns incomplete type "std::__exception_ptr::exception_ptr"</div><div><br></div><div>/usr/include/c++/4.8/new(95): error: expected a "{"</div><div><br></div><div>/usr/include/c++/4.8/new(110): error: identifier "__p" is undefined</div><div><br></div><div>/usr/include/c++/4.8/new(111): error: expected a "{"</div><div><br></div><div>/usr/include/c++/4.8/new(115): error: expected a "{"</div><div><br></div><div>/usr/include/c++/4.8/new(116): error: expected a "{"</div><div><br></div><div>/usr/include/c++/4.8/bits/cpp_type_traits.h(184): error: identifier "char16_t" is undefined</div><div><br></div><div>/usr/include/c++/4.8/bits/cpp_type_traits.h(191): error: identifier "char32_t" is undefined</div><div><br></div><div>/usr/include/c++/4.8/bits/cpp_type_traits.h(191): error: class "std::__is_integer<<error-type>>" has already been defined</div><div><br></div><div>/usr/include/c++/4.8/bits/cpp_type_traits.h(314): error: namespace "std::__gnu_cxx" has no member "__normal_iterator"</div><div><br></div><div>/usr/include/c++/4.8/bits/cpp_type_traits.h(314): error: expected a ">"</div><div><br></div><div>/usr/include/c++/4.8/cmath(80): error: inline specifier allowed on function declarations only</div><div><br></div><div>/usr/include/c++/4.8/cmath(80): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/cmath(105): error: inline specifier allowed on function declarations only</div><div><br></div><div>/usr/include/c++/4.8/cmath(105): error: variable "std::constexpr" has already been defined</div><div><br></div><div>/usr/include/c++/4.8/cmath(105): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/cmath(124): error: inline specifier allowed on function declarations only</div><div><br></div><div>/usr/include/c++/4.8/cmath(124): error: variable "std::constexpr" has already been defined</div><div><br></div><div>/usr/include/c++/4.8/cmath(124): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/cmath(143): error: inline specifier allowed on function declarations only</div><div><br></div><div>/usr/include/c++/4.8/cmath(143): error: variable "std::constexpr" has already been defined</div><div><br></div><div>/usr/include/c++/4.8/cmath(143): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/cmath(162): error: inline specifier allowed on function declarations only</div><div><br></div><div>/usr/include/c++/4.8/cmath(162): error: variable "std::constexpr" has already been defined</div><div><br></div><div>/usr/include/c++/4.8/cmath(162): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/cmath(183): error: inline specifier allowed on function declarations only</div><div><br></div><div>/usr/include/c++/4.8/cmath(183): error: variable "std::constexpr" has already been defined</div><div><br></div><div>/usr/include/c++/4.8/cmath(183): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/cmath(202): error: inline specifier allowed on function declarations only</div><div><br></div><div>/usr/include/c++/4.8/cmath(202): error: variable "std::constexpr" has already been defined</div><div><br></div><div>/usr/include/c++/4.8/cmath(202): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/cmath(221): error: inline specifier allowed on function declarations only</div><div><br></div><div>/usr/include/c++/4.8/cmath(221): error: variable "std::constexpr" has already been defined</div><div><br></div><div>/usr/include/c++/4.8/cmath(221): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/cmath(240): error: inline specifier allowed on function declarations only</div><div><br></div><div>/usr/include/c++/4.8/cmath(240): error: variable "std::constexpr" has already been defined</div><div><br></div><div>/usr/include/c++/4.8/cmath(240): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/cmath(259): error: inline specifier allowed on function declarations only</div><div><br></div><div>/usr/include/c++/4.8/cmath(259): error: variable "std::constexpr" has already been defined</div><div><br></div><div>/usr/include/c++/4.8/cmath(259): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/cmath(278): error: inline specifier allowed on function declarations only</div><div><br></div><div>/usr/include/c++/4.8/cmath(278): error: variable "std::constexpr" has already been defined</div><div><br></div><div>/usr/include/c++/4.8/cmath(278): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/cmath(297): error: inline specifier allowed on function declarations only</div><div><br></div><div>/usr/include/c++/4.8/cmath(297): error: variable "std::constexpr" has already been defined</div><div><br></div><div>/usr/include/c++/4.8/cmath(297): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/cmath(328): error: "constexpr" is not a function or static data member</div><div><br></div><div>/usr/include/c++/4.8/cmath(337): error: inline specifier allowed on function declarations only</div><div><br></div><div>/usr/include/c++/4.8/cmath(337): error: variable "std::constexpr" has already been defined</div><div><br></div><div>/usr/include/c++/4.8/cmath(337): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/cmath(356): error: inline specifier allowed on function declarations only</div><div><br></div><div>/usr/include/c++/4.8/cmath(356): error: variable "std::constexpr" has already been defined</div><div><br></div><div>/usr/include/c++/4.8/cmath(356): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/cmath(375): error: inline specifier allowed on function declarations only</div><div><br></div><div>/usr/include/c++/4.8/cmath(375): error: variable "std::constexpr" has already been defined</div><div><br></div><div>/usr/include/c++/4.8/cmath(375): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/cmath(406): error: inline specifier allowed on function declarations only</div><div><br></div><div>/usr/include/c++/4.8/cmath(406): error: variable "std::constexpr" has already been defined</div><div><br></div><div>/usr/include/c++/4.8/cmath(406): error: expected a ";"</div><div><br></div><div>/usr/include/c++/4.8/cmath(443): error: inline specifier allowed on function declarations only</div><div><br></div><div>/usr/include/c++/4.8/cmath(443): error: variable "std::constexpr" has already been defined</div><div><br></div><div>/usr/include/c++/4.8/cmath(443): error: expected a ";"</div><div><br></div><div>Error limit reached.</div><div>100 errors detected in the compilation of "/tmp/tmpxft_00006b8f_00000000-9_GateGPUManager.compute_30.cpp1.ii".</div><div>Compilation terminated.</div><div>CMake Error at Gate_generated_GateGPUManager.cu.o.cmake:264 (message):</div><div> Error generating file</div><div> /home/gate/Desktop/gate/gate_v7.2-build/CMakeFiles/Gate.dir/source/gpu/src/./Gate_generated_GateGPUManager.cu.o</div><div><br></div><div><br></div><div>make[2]: *** [CMakeFiles/Gate.dir/source/gpu/src/./Gate_generated_GateGPUManager.cu.o] Error 1</div><div>make[1]: *** [CMakeFiles/Gate.dir/all] Error 2</div><div>make: *** [all] Error 2</div></div><div>###############</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 17, 2017 at 6:50 PM, Liliana Caldeira <span dir="ltr"><<a href="mailto:llcaldeira@gmail.com" target="_blank">llcaldeira@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div>Dear Ezzat,<br><br></div>Regarding your two questions:<br></div>1. How to make GATE work with GPU: <a href="http://wiki.opengatecollaboration.org/index.php/Compilation_Instructions_V7.2#GPU_.26_CUDA_tools" target="_blank">http://wiki.opengatecollaborat<wbr>ion.org/index.php/Compilation_<wbr>Instructions_V7.2#GPU_.26_CUDA<wbr>_tools</a><br>In the french link, I go to the 14.04 or 16.04 version: <a href="http://doc.ubuntu-fr.org/cuda" target="_blank">http://doc.ubuntu-fr.org/cuda</a> (not 11.4, but maybe you are in a different page).<br>Before you use GATE for GPU, you need to download 2 packages which are the CUDA toolkit provided by NVIDIA and the GPU computing SDK. <br></div><div>However, as far as I understood SDK comes together with the toolkit now (<a href="https://developer.nvidia.com/cuda-toolkit" target="_blank">https://developer.nvidia.com/<wbr>cuda-toolkit</a>), therefore in cmake they should point to the same folder. <br>Cuda toolkit instructions here: <a href="https://developer.nvidia.com/cuda-downloads" target="_blank">https://developer.nvidia.com/c<wbr>uda-downloads</a><br><br></div>2. There are many ways to increase the simulation performance besides GPUs:<br>- output, e.g. ROOT output is usually faster than ASCII output. Only save the events that you are interested in (Hits, Singles, Coincidences).<br></div>- using cuts <br></div>- not using voxelized phantoms unless necessary<br></div>- using cluster tools, if you have access to several CPUs.<br><br></div><div>I hope this helps a little bit.<br></div><div><br></div>Cheers,<br></div>Liliana<br><div><div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="gmail-h5">On 15 January 2017 at 10:44, Ezzat Elmo <span dir="ltr"><<a href="mailto:ezzat.elmo@gmail.com" target="_blank">ezzat.elmo@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class="gmail-h5"><div dir="ltr">Good day everyone,<div><br></div><div>so I've been using v-Gate for over a year now and few weeks ago I decided to start using the full version on a Linux based system hoping it will improve the simulation speed.</div><div><br></div><div>it did work, but the improvement was about just 10% and i was hoping it would have been more.</div><div>so i was interested to run it on the GPU to see how much it will improve the speed.</div><div><br></div><div>so i have two questions:</div><div>1- how to make gate work using GPU? i tried to work it out following the wiki page, but the cuda section is in France and when I translate it and followed it turns out its for Ubuntu 11.4 while I'm using Ubuntu 14.04.</div><div><br></div><div>2- is there any other way than the GPU to accelerate the simulation performance ?</div><div><br></div><div>Thanks for your time and looking forward to here back from you.</div><span class="gmail-m_-6469582241692491436m_1111685304666873539HOEnZb"><font color="#888888"><div><br></div><div>Ezzat</div></font></span></div>
<br></div></div>______________________________<wbr>_________________<br>
Gate-users mailing list<br>
<a href="mailto:Gate-users@lists.opengatecollaboration.org" target="_blank">Gate-users@lists.opengatecolla<wbr>boration.org</a><br>
<a href="http://lists.opengatecollaboration.org/mailman/listinfo/gate-users" rel="noreferrer" target="_blank">http://lists.opengatecollabora<wbr>tion.org/mailman/listinfo/gate<wbr>-users</a><br></blockquote></div><br></div></div>
</blockquote></div><br></div></div>