Geant4 Cross Reference |
1 ---------------------------------------------- 2 3 ========================================= 4 Geant4 - an Object-Oriented Toolkit for S 5 ========================================= 6 7 Tips how to run an example in multi-th 8 -------------------------------------- 9 10 Only migrated examples or user applications c 11 The instructions for migrating user applicati 12 and a short howto is available here: 13 14 https://twiki.cern.ch/twiki/bin/view/Geant4/Q 15 16 In this file, we give just useful tips for ru 17 (or user applications). 18 19 1) RUN EXAMPLE IN MULTI-THREADING MODE 20 21 No special steps are needed to build an examp 22 The examples which has been migrated to multi 23 run in MT when they are built against the Gea 24 activated, otherwise they will run in sequent 25 Not migrated examples will run in sequential 26 Geant4 libraries built with MT mode activated 27 28 The examples which do NOT support MT can be e 29 of code in main (): 30 31 G4RunManager* runManager = new G4RunManager 32 33 or 34 35 auto* runManager = G4RunManagerFactory::Cre 36 37 2) SET NUMBER OF THREADS 38 39 When the number of threads is not selected in 40 (which is actually 2) will be used. Another n 41 ways: 42 43 - in the code 44 45 auto* runManager = ...; 46 runManager->SetNumberOfThreads(4); 47 48 - in a macro file via UI command added just b 49 50 /run/numberOfThreads 4 51 52 - by setting the environment variable 53 54 export G4FORCENUMBEROFTHREADS = 4 55 or 56 setenv G4FORCENUMBEROFTHREADS 4 57 58 The environment variable value is forced and 59 call or a macro. A warning is issued in such 60 61 3) OUTPUT FROM THREADS 62 63 In MT processing each worker produces its out 64 on the screen. The messeges from threads are 65 G4WTi> where i is the thread number. Users c 66 and choose 67 68 - to limit the output from threads to one sel 69 70 /control/cout/ignoreThreadsExcept 0 71 72 - to redirect the output from threads in a fi 73 74 /control/cout/setCoutFile coutFileName 75 /control/cout/setCerrFile cerrFileName 76 77 - to buffer the output from each thread at a 78 thread is grouped and printed at the end of 79 80 /control/cout/useBuffer true|false