[Gate-users] Running Gate on a Cluster

Mijat Paunovic paunovicjata at gmail.com
Sat Feb 12 21:22:17 CET 2022


Dear Gate Community,
I have created a simple Cone Beam CT simulator in order to obtain
projections which will be fed to a reconstruction algorithm. In order for
the algorithm to work, I need to have a large number of detected photons in
each pixel of the detector. In order to obtain this large number, I wanted
to run the simulation for ~10^13 primaries. This is of course an impossible
job for my computer which has only 8 logical cores (4 after assigning half
to the virtual machine on which Gate is run) so I will get access to a
supercomputer which will be able to do this.

In the meantime, I wonder how I could maximize the performance on my
computer? When I run the Gate simulation and monitor the CPU performance, I
can see that only 1/4 logical cores is being used for the simulation.

In Gate documentation I found the '6.1. How to use Gate on a Cluster'
explaining how I should use the *gjs *(Gate job splitter) which will split
my work on 4 jobs which I can independently run on each node of the
cluster, after which I should use the *gjm *(Gate file merger) in order to
combine the results.

Several questions arose from this:
1. Is it possible to make Gate make the use of additional 3 cores that I
have assigned to the virtual machine without doing the job splitting?
2. If I perform the job splitting, can my 4 cores be considered a cluster
of it's own?
3. When running *gjs*, I am only able to get an output when am using
*-numberofsplits* of 10 or more jobs. If I try to run it for 9 or less, I
get 'floating point error'.
4. Since I am only running a simulation of 10^13 independent photon
histories (only interested in photon interactions within a phantom and the
count of the photons on the detector) would it be the same if I just fed
the same simulation to on *n *nodes, with the number of primaries being
10^13/n?

For the first test for this simulator, I will be using it on a cylindrical
phantom. Instead of making a large number of projections which will be fed
to a reconstruction algorithm, I will be generating particles from only one
angle and the result (2D matrix with the photon count) will be copied
several hundred times and hopefully, upon reconstruction, we will get a
circular cross-section.

All in all, I need a way to speed up the process of obtaining this 2D
matrix if I am going to make the simulator more realistic.

Any suggestions on this matter would be extremely helpful. Thanks in
advance!

Kind regards,
Mijat Paunović
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opengatecollaboration.org/pipermail/gate-users/attachments/20220212/e318e521/attachment.html>


More information about the Gate-users mailing list