<div dir="ltr"><div>Dear Mohammed, <br></div><div><br></div><div>I think if you are using a single phase space source for multiple simulations and with the same seed number you will obviously get the same output file for all your separated maco. <br></div><div>In this particular case I suggest to use multiple phase space files, ench one for a simulation macro as explained by Josh Knowland in the last message. Eventually you have to change your seed number then merge your output and the end.</div><div><br></div><div>Regards.    <br></div><div><br clear="all"></div><div dir="ltr"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><font size="2" face="monospace,monospace">--<br></font></div><div><font size="2" face="monospace,monospace"><font size="1">Zakaria Aboulbanine</font><br></font></div><div><font size="2" face="monospace,monospace"><br></font></div><font face="monospace,monospace"><font size="4"><br></font></font></div></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le dim. 14 juin 2020 à 03:07, <<a href="mailto:gate-users-request@lists.opengatecollaboration.org">gate-users-request@lists.opengatecollaboration.org</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Send Gate-users mailing list submissions to<br>
        <a href="mailto:gate-users@lists.opengatecollaboration.org" target="_blank">gate-users@lists.opengatecollaboration.org</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
        <a href="http://lists.opengatecollaboration.org/mailman/listinfo/gate-users" rel="noreferrer" target="_blank">http://lists.opengatecollaboration.org/mailman/listinfo/gate-users</a><br>
or, via email, send a message with subject or body 'help' to<br>
        <a href="mailto:gate-users-request@lists.opengatecollaboration.org" target="_blank">gate-users-request@lists.opengatecollaboration.org</a><br>
<br>
You can reach the person managing the list at<br>
        <a href="mailto:gate-users-owner@lists.opengatecollaboration.org" target="_blank">gate-users-owner@lists.opengatecollaboration.org</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of Gate-users digest..."<br>
<br>
<br>
Today's Topics:<br>
<br>
   1. Re: GATE IN MULTICORE PROCESSOR STAND ALONE WORKSTATION<br>
      (Josh Knowland)<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Sat, 13 Jun 2020 17:51:11 +0000<br>
From: Josh Knowland <<a href="mailto:jknowland@lucernodynamics.com" target="_blank">jknowland@lucernodynamics.com</a>><br>
To: Mohammed REZZOUG <<a href="mailto:nmedrezz@gmail.com" target="_blank">nmedrezz@gmail.com</a>><br>
Cc: "<a href="mailto:gate-users@lists.opengatecollaboration.org" target="_blank">gate-users@lists.opengatecollaboration.org</a>"<br>
        <<a href="mailto:gate-users@lists.opengatecollaboration.org" target="_blank">gate-users@lists.opengatecollaboration.org</a>><br>
Subject: Re: [Gate-users] GATE IN MULTICORE PROCESSOR STAND ALONE<br>
        WORKSTATION<br>
Message-ID:<br>
        <<a href="mailto:BN8PR15MB2676F0BEB4FF89704A8FFEC9AF9E0@BN8PR15MB2676.namprd15.prod.outlook.com" target="_blank">BN8PR15MB2676F0BEB4FF89704A8FFEC9AF9E0@BN8PR15MB2676.namprd15.prod.outlook.com</a>><br>
<br>
Content-Type: text/plain; charset="utf-8"<br>
<br>
Hi Mohammed,<br>
Did you divide the time for each macro?<br>
<br>
For example, each copy of your macro should specify:<br>
The total activity to simulate as if you were running only one macro<br>
a unique output filename<br>
divided time slice and total time<br>
<br>
To split a simulation into 4 parts, I’d create 4 copies of the macro named:<br>
                Sim_00.mac<br>
                Sim_01.mac<br>
                Sim_02.mac<br>
                Sim_03.mac<br>
<br>
Then, each macro would specify its own output filename, but the same activity and tim info (total time divided by the number of splits)<br>
<br>
Sim_00.mac<br>
                /gate/source/src_0/setActivity 1 mCi<br>
                /gate/output/ascii/setFileName Sim_00_<br>
/gate/application/setTimeSlice 0.25 s<br>
/gate/application/setTimeStart 0.0 s<br>
/gate/application/setTimeStop 0.25 s<br>
<br>
                Sim_01.mac<br>
/gate/source/src_0/setActivity 1 mCi<br>
                /gate/output/ascii/setFileName Sim_01_<br>
/gate/application/setTimeSlice 0.25 s<br>
/gate/application/setTimeStart 0.0 s<br>
/gate/application/setTimeStop 0.25 s<br>
<br>
                Sim_02.mac<br>
                /gate/source/src_0/setActivity 1 mCi<br>
                /gate/output/ascii/setFileName Sim_02_<br>
/gate/application/setTimeSlice 0.25 s<br>
/gate/application/setTimeStart 0.0 s<br>
/gate/application/setTimeStop 0.25 s<br>
<br>
                Sim_03.mac<br>
                /gate/source/src_0/setActivity 1 mCi<br>
/gate/output/ascii/setFileName Sim_03_<br>
/gate/application/setTimeSlice 0.25 s<br>
/gate/application/setTimeStart 0.0 s<br>
/gate/application/setTimeStop 0.25 s<br>
<br>
Note how each macro has its own output filename, but they all have the same time and source activity.<br>
<br>
The results would then be output files for each macro:<br>
                Sim_00_Run.dat<br>
                Sim_00_Singles.dat<br>
                Sim_01_Run.dat<br>
                Sim_01_Singles.dat<br>
Sim_02_Run.dat<br>
                Sim_02_Singles.dat<br>
                Sim_03_Run.dat<br>
                Sim_03_Singles.dat<br>
<br>
The Run.dat files contain the number of primaries simulated for that particular macro. Each should be approximately the source activity (1 mCi in my example) divided by the number of splits.<br>
<br>
The Singles.dat files contain the singles for that macro. You should see that they only contain singles for the time slice simulated.<br>
<br>
I hope that helps!<br>
If you wish, you may send me your macros and I will take a look.<br>
Josh<br>
<br>
<br>
<br>
<br>
<br>
From: Mohammed REZZOUG <<a href="mailto:nmedrezz@gmail.com" target="_blank">nmedrezz@gmail.com</a>><br>
Sent: Saturday, June 13, 2020 10:52 AM<br>
To: Josh Knowland <<a href="mailto:jknowland@lucernodynamics.com" target="_blank">jknowland@lucernodynamics.com</a>><br>
Subject: Re: [Gate-users] GATE IN MULTICORE PROCESSOR STAND ALONE WORKSTATION<br>
<br>
Thanks for your help<br>
I used your method, I created 20 copies of my macro, but I got the same result.<br>
The simulation took the same time as if I was using one macro<br>
<br>
Le mer. 10 juin 2020 à 23:16, Mohammed REZZOUG <<a href="mailto:nmedrezz@gmail.com" target="_blank">nmedrezz@gmail.com</a><mailto:<a href="mailto:nmedrezz@gmail.com" target="_blank">nmedrezz@gmail.com</a>>> a écrit :<br>
Thank you very much<br>
<br>
Le mer. 10 juin 2020 à 15:06, Josh Knowland <<a href="mailto:jknowland@lucernodynamics.com" target="_blank">jknowland@lucernodynamics.com</a><mailto:<a href="mailto:jknowland@lucernodynamics.com" target="_blank">jknowland@lucernodynamics.com</a>>> a écrit :<br>
I forgot to add that my process does result in multiple output files, so you will likely need to combine them afterwards. I use singles data, so it’s a simple matter of combining the text files. I’m not sure how you would combine different output files (root, etc.)<br>
<br>
<br>
<br>
<br>
From: Gate-users <<a href="mailto:gate-users-bounces@lists.opengatecollaboration.org" target="_blank">gate-users-bounces@lists.opengatecollaboration.org</a><mailto:<a href="mailto:gate-users-bounces@lists.opengatecollaboration.org" target="_blank">gate-users-bounces@lists.opengatecollaboration.org</a>>> On Behalf Of Josh Knowland<br>
Sent: Wednesday, June 10, 2020 10:03 AM<br>
To: Mohammed REZZOUG <<a href="mailto:nmedrezz@gmail.com" target="_blank">nmedrezz@gmail.com</a><mailto:<a href="mailto:nmedrezz@gmail.com" target="_blank">nmedrezz@gmail.com</a>>>; <a href="mailto:gate-users@lists.opengatecollaboration.org" target="_blank">gate-users@lists.opengatecollaboration.org</a><mailto:<a href="mailto:gate-users@lists.opengatecollaboration.org" target="_blank">gate-users@lists.opengatecollaboration.org</a>><br>
Subject: Re: [Gate-users] GATE IN MULTICORE PROCESSOR STAND ALONE WORKSTATION<br>
<br>
Hello Mohammed,<br>
This is actually a topic that I have experience with.<br>
<br>
I run my simulations remotely on a 64-core virtual machine through Azure, but the process should be the same.<br>
Here is the workflow I use:<br>
<br>
Generate a  macro that does what I want. Test it out with a small activity to make sure. Create multiple copies of the macro, each with a different output filename. You can also use different time-slices if you want to, but all other information can be the same (volume names, etc. do not need to change). Run all the macros concurrently using a shell script like below. Each process will be put on a different core and htop will display CPU usage. It’s also possible to insert a command to send you an email alert when all the scripts are finished. It will depend on your mail server, so I haven’t shown a specific example here.<br>
#!/bin/bash<br>
(<br>
(<br>
Gate macro_00.mac > macro_00_log.txt &<br>
Gate macro_01.mac > macro_01_log.txt &<br>
Gate macro_02.mac > macro_02_log.txt &<br>
Gate macro_03.mac > macro_03_log.txt &<br>
Gate macro_04.mac > macro_04_log.txt &<br>
Gate macro_05.mac > macro_05_log.txt &<br>
Gate macro_06.mac > macro_06_log.txt &<br>
Gate macro_07.mac > macro_07_log.txt &<br>
Gate macro_08.mac > macro_08_log.txt &<br>
Gate macro_09.mac > macro_09_log.txt &<br>
Gate macro_10.mac > macro_10_log.txt &<br>
wait<br>
)<br>
# insert command to send email here<br>
) &<br>
htop<br>
<br>
<br>
<br>
An alternative approach is to use parameterized macros. For this, you’d create one macro with GATE parameters as place holders using braces. Then, the script file would call that macro multiple times while changing the parameters. For instance, you could run one simulation by splitting it over time by using parameters for timestart and timestop like this in the macro:<br>
<br>
/gate/application/setTimeSlice 0.125 s<br>
/gate/application/setTimeStart {timestart} s<br>
/gate/application/setTimeStop {timestop} s<br>
<br>
Then the script would define the parameters for each process:<br>
<br>
#!/bin/bash<br>
(<br>
(<br>
Gate -a [timestart,0.000][timestop,0.125] paramMacro.mac > output_00_log.txt &<br>
Gate -a [timestart,0.125][timestop,0.250] paramMacro.mac > output_01_log.txt &<br>
Gate -a [timestart,0.250][timestop,0.375] paramMacro.mac > output_02_log.txt &<br>
Gate -a [timestart,0.375][timestop,0.500] paramMacro.mac > output_03_log.txt &<br>
Gate -a [timestart,0.500][timestop,0.625] paramMacro.mac > output_04_log.txt &<br>
Gate -a [timestart,0.625][timestop,0.750] paramMacro.mac > output_05_log.txt &<br>
Gate -a [timestart,0.750][timestop,0.875] paramMacro.mac > output_06_log.txt &<br>
Gate -a [timestart,0.875][timestop,1.000] paramMacro.mac > output_07_log.txt &<br>
wait<br>
)<br>
wait<br>
# insert command to send email here<br>
) &<br>
htop<br>
<br>
<br>
<br>
I hope that helps!<br>
Josh<br>
<br>
<br>
<br>
<br>
<br>
From: Gate-users <<a href="mailto:gate-users-bounces@lists.opengatecollaboration.org" target="_blank">gate-users-bounces@lists.opengatecollaboration.org</a><mailto:<a href="mailto:gate-users-bounces@lists.opengatecollaboration.org" target="_blank">gate-users-bounces@lists.opengatecollaboration.org</a>>> On Behalf Of Mohammed REZZOUG<br>
Sent: Wednesday, June 10, 2020 10:35 AM<br>
To: <a href="mailto:gate-users@lists.opengatecollaboration.org" target="_blank">gate-users@lists.opengatecollaboration.org</a><mailto:<a href="mailto:gate-users@lists.opengatecollaboration.org" target="_blank">gate-users@lists.opengatecollaboration.org</a>><br>
Subject: [Gate-users] GATE IN MULTICORE PROCESSOR STAND ALONE WORKSTATION<br>
<br>
Dear Gate users<br>
<br>
<br>
I am using the a workstation with 24 cores. The problem at hand is that when I run the code<br>
and analyze my processor, I find that only one core is being used. It takes a long time for<br>
the simulation to get executed even for primitive problems.<br>
<br>
<br>
<br>
In the manual there are instructions about parallel processing using<br>
<br>
clusters but there is no mention about multi core systems.<br>
<br>
<br>
<br>
Is it possible to divide the work among the cores of my system like in<br>
<br>
clusters ?<br>
<br>
<br>
---<br>
<br>
Mohammed<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <<a href="http://lists.opengatecollaboration.org/pipermail/gate-users/attachments/20200613/03e6b3f9/attachment.html" rel="noreferrer" target="_blank">http://lists.opengatecollaboration.org/pipermail/gate-users/attachments/20200613/03e6b3f9/attachment.html</a>><br>
<br>
------------------------------<br>
<br>
Subject: Digest Footer<br>
<br>
_______________________________________________<br>
Gate-users mailing list<br>
<a href="mailto:Gate-users@lists.opengatecollaboration.org" target="_blank">Gate-users@lists.opengatecollaboration.org</a><br>
<a href="http://lists.opengatecollaboration.org/mailman/listinfo/gate-users" rel="noreferrer" target="_blank">http://lists.opengatecollaboration.org/mailman/listinfo/gate-users</a><br>
<br>
------------------------------<br>
<br>
End of Gate-users Digest, Vol 169, Issue 25<br>
*******************************************<br>
</blockquote></div></div>