[Gate-users] Micro-architecture compiler flags in GATE

Bryan McIntosh mcintoshster at gmail.com
Tue Feb 4 14:26:53 CET 2020


Dear Antoine,

Thank you for your response! I will begin my testing on Thursday evening,
and if I see a significant difference I will let you and the mailing list
know what I find. Since the Ryzen desktop CPUs have a higher thermal limit
than a MacBook does, we may see a greater speedup if AVX instructions
aren't used normally by the compiler but are enabled by custom flags. From
reading other CPU-related performance information, it looks like using
AVX/AVX2 acceleration can cause a CPU to rapidly exceed its normal thermal
limits, and I know that Apple has been criticized for throttling power on
the MacBook and MacBook Pro to keep fan noise low.

Best regards,

-Bryan

On Tue, Feb 4, 2020 at 2:30 AM Antoine Merlet <ant.merlet at gmail.com> wrote:

> Dear Bryan,
>
> According to the comment you mentioned, I personally I used -march=native
> for my MacBook, which brought a 3% speed increase only. I did so by
> adding this flag in the following CMake entries (they can be found in
> advanced mode using ccmake): CMAKE_C_FLAGS_RELEASE and CMAKE_CXX_FLAGS_RELEASE.
> According to your build type, you might want to use in it in DEBUG or
> other (instead of RELEASE).
>
> Best regards,
> Antoine
>
> On Mon, Feb 3, 2020 at 4:27 PM Bryan McIntosh <mcintoshster at gmail.com>
> wrote:
>
>> Dear Maxime and Antoine,
>>
>> A few weeks ago, I saw on the GATE mailing list that Maxime has used the
>> GCC flag -march=skylake-avx515 to increase performance on newer Intel CPUs
>> that support hardware-accelerated AVX-512 instructions. After a bit of
>> research I found that similar flags exist for taking advantage of AVX and
>> AVX2 acceleration on AMD Ryzen CPUs (znver1 and znver2, depending on the
>> CPU), and I am interested to see if these lead to a performance increase as
>> well.
>>
>> One problem that I have, though, is I am not sure where to place these
>> flags during the compilation process. Do they go in CMakeLists.txt, or
>> somewhere else? And if the former, where in the file do they need to go?
>>
>> Thank you very much for your time,
>>
>> -Bryan McIntosh
>>
>> On Fri, Jan 10, 2020 at 5:21 AM <
>> gate-users-request at lists.opengatecollaboration.org> wrote:
>>
>>> Send Gate-users mailing list submissions to
>>>         gate-users at lists.opengatecollaboration.org
>>>
>>> To subscribe or unsubscribe via the World Wide Web, visit
>>>
>>> http://lists.opengatecollaboration.org/mailman/listinfo/gate-users
>>> or, via email, send a message with subject or body 'help' to
>>>         gate-users-request at lists.opengatecollaboration.org
>>>
>>> You can reach the person managing the list at
>>>         gate-users-owner at lists.opengatecollaboration.org
>>>
>>> When replying, please edit your Subject line so it is more specific
>>> than "Re: Contents of Gate-users digest..."
>>>
>>>
>>> Today's Topics:
>>>
>>>    1. Re: Performances: vGate vs Gate on macOS (maxime)
>>>
>>>
>>> ----------------------------------------------------------------------
>>>
>>> Message: 1
>>> Date: Fri, 10 Jan 2020 11:04:25 +0100
>>> From: maxime <maxime.chauvin at inserm.fr>
>>> To: Antoine Merlet <ant.merlet at gmail.com>
>>> Cc: gate-users at lists.opengatecollaboration.org
>>> Subject: Re: [Gate-users] Performances: vGate vs Gate on macOS
>>> Message-ID: <1B5C3CB4-EDE1-44A6-96D4-3E1E4A29F1F4 at inserm.fr>
>>> Content-Type: text/plain; charset="utf-8"
>>>
>>> Dear Antoine,
>>>
>>> yes this is expected. I have seen the same on my macbook, GATE being
>>> slightly faster in the vGATE compared to the host (MacOS) with the standard
>>> compiling options.
>>>
>>> Virtual machines are quite good at using the full CPU power, it is a
>>> different story for GPU…
>>>
>>> So in the end, the only thing that matters (VM or not) is the clock
>>> speed of your CPU. You can slightly increase the performance with compiler
>>> options related to your CPU architecture.
>>>
>>> For example, we have seen an increase of performance of ~20% on an HPC (
>>> https://www.calmip.univ-toulouse.fr/ <
>>> https://www.calmip.univ-toulouse.fr/>) with the compiler option
>>> "-march=skylake-avx512” for Intel Skylake processors. For this you need to
>>> compile both Geant4 and GATE with the compiler optimisation option.
>>>
>>> Of course we are talking about performance on a single CPU. You can
>>> speed up your simulation by running several sub-simulations on many CPUs.
>>>
>>> Best regards,
>>>   Maxime Chauvin
>>>
>>> > On 10 Jan 2020, at 10:38, Antoine Merlet <ant.merlet at gmail.com> wrote:
>>> >
>>> > Dear Gate users,
>>> >
>>> > I have compiled the latest develop version of Gate with
>>> Geant4-10.05.p01 under macOS Mojave. Previously using vGate on the same
>>> MacBook, I was hoping for decreased simulation time after removing the
>>> virtual machine intermediary. However, tests shows nearly no differences -
>>> vGate is even a bit faster - regardless of the simulation duration (minutes
>>> / dozens of hours).
>>> >
>>> > Therefore, I would like to know if anyone had similar experiences, and
>>> if this kind of results are to be expected. Also, is there any way of
>>> increasing the performances of Gate on macOS by optimizing the compilation
>>> parameters?
>>> >
>>> > You can find enclosed a simple test file which has been adapted from
>>> GateContrib Cylindrical PET example (
>>> https://github.com/OpenGATE/GateContrib/tree/master/imaging/PET <
>>> https://github.com/OpenGATE/GateContrib/tree/master/imaging/PET>). The
>>> resulting simulation time is 8min44s when using vGate and 8min50sec when
>>> using Gate under macOS.
>>> >
>>> > Best regards,
>>> > Antoine
>>> >
>>> <main.mac><GateMaterials.db>_______________________________________________
>>> > Gate-users mailing list
>>> > Gate-users at lists.opengatecollaboration.org
>>> > http://lists.opengatecollaboration.org/mailman/listinfo/gate-users
>>>
>>> -------------- next part --------------
>>> An HTML attachment was scrubbed...
>>> URL: <
>>> http://lists.opengatecollaboration.org/pipermail/gate-users/attachments/20200110/07185d90/attachment-0001.html
>>> >
>>>
>>> ------------------------------
>>>
>>> Subject: Digest Footer
>>>
>>> _______________________________________________
>>> Gate-users mailing list
>>> Gate-users at lists.opengatecollaboration.org
>>> http://lists.opengatecollaboration.org/mailman/listinfo/gate-users
>>>
>>> ------------------------------
>>>
>>> End of Gate-users Digest, Vol 164, Issue 11
>>> *******************************************
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opengatecollaboration.org/pipermail/gate-users/attachments/20200204/fcf01e17/attachment.html>


More information about the Gate-users mailing list