Salome HOME
Moving MPIAccess to a subfolder for clarity
[tools/medcoupling.git] / src / ParaMEDMEM / README
1 Tests avec CPPUNIT 
2 ==================
3
4 L'appel a MPI_Init n'est fait qu'une seule fois pour chaque suite de test
5 (voir TestMPIAccessDEC.cxx, TestMPIAccess.cxx, TestParaMEDMEM.cxx qui inclut
6 tous MPIMainTest.hxx)
7 Il est suivi par l'execution de toute la suite des tests regroupes
8 dans les trois headers MPIAccess.hxx, MPIAccessDEC.hxx, ParaMEDMEMTest.hxx
9 On a enfin un seul appel a MPI_Finalize.
10
11 Si un des tests d'une suite de tests comporte une anomalie cela
12 peut avoir des implications sur l'execution des tests suivants.
13
14 [ABN-2015] Lancement des tests avec valgrind
15 ============================================
16
17 Exemple avec MPICH :
18
19 rm tmp_log* ; mpirun -np 3 valgrind --leak-check=full --show-reachable=yes --log-file=tmp_log%p  src/ParaMEDMEMTest/TestParaMEDMEM && cat tmp_log*
20
21 [ABN-2015] Lancement des tests avec gdb
22 =======================================
23
24 Exemple avec MPICH :
25
26 mpirun -np 2 xterm -e gdb src/ParaMEDMEMTest/TestMPIAccess
27
28 [ABN-2021] MPIAccess is now isolated - it is only used in NxM_Mapping
29 =====================================================================
30
31
32
33 *************************************************************************************************************
34 *********************** ce qui suit est obsolète ??                    **************************************
35 *************************************************************************************************************
36
37 Lancement des tests de TestParaMEDMEM avec CPPUNIT et TotalView (option -tv) :
38 ==============================================================================
39
40 mpirun -np 5 -ssi rpi tcp C -tv -v -x PATH=${PATH},LD_LIBRARY_PATH=${LD_LIBRARY_PATH} TestParaMEDMEM
41
42 Il arrive qu'on ne puisse pas utiliser totalview par manque de
43 license.
44
45
46
47 Lancement des tests de TestParaMEDMEM avec CPPUNIT et Valgrind avec "memory leaks" :
48 ====================================================================================
49
50 mpirun -np 5 -ssi rpi tcp C -v -x PATH=${PATH},LD_LIBRARY_PATH=${LD_LIBRARY_PATH} valgrind --leak-check=full TestParaMEDMEM
51
52
53 Lancement des tests fonctionnels de MPI_AccessDEC avec CPPUNIT :
54 ================================================================
55
56 mpirun -np 11 -ssi rpi tcp C -v -x PATH=${PATH},LD_LIBRARY_PATH=${LD_LIBRARY_PATH} valgrind --leak-check=full TestMPIAccessDEC
57
58
59 Lancement des tests unitaires de MPI_Access avec CPPUNIT :
60 ==========================================================
61
62 mpirun -np 3 -ssi rpi tcp C -v -x PATH=${PATH},LD_LIBRARY_PATH=${LD_LIBRARY_PATH} valgrind --leak-check=full TestMPIAccess
63
64
65 TestMPIAccess/TestMPIAccessDEC/TestParaMEDMEM et gcov :
66 =======================================================
67
68 Les resultats sont dans les repertoires suivants de $MED_BUILD_DIR/src/ParaMEDMEM/Test :
69 -------------
70
71     TestParaMEDMEM-gcov/
72     TestMPIAccessDEC-gcov/
73     TestMPIAccess-gcov/
74
75 Je n'y ai pas trouve d'anomalies.
76
77 compilation : -fprofile-arcs -ftest-coverage
78 -------------
79
80 $MED_BUILD_DIR/src/ParaMEDMEM/makefile.in : LIB=libparamedar.a \
81 -------------------------------------------     libparamed.la
82
83 $MED_BUILD_DIR/src/ParaMEDMEM/Test/makefile.in : LIB = libParaMEDMEMTestar.a \
84 ------------------------------------------------       libParaMEDMEMTest.la
85
86 execution et gcov :
87 -------------------
88
89 Pour pouvoir traiter les .cxx de ${MED_BUILD_DIR}/src/ParaMEDMEM et de
90 ${MED_BUILD_DIR}/src/ParaMEDMEM/Test, on execute deux fois gcov.
91
92 cd ${MED_BUILD_DIR}/src/ParaMEDMEM/Test
93
94 mpirun -np 3 -ssi rpi tcp C -v -x PATH=${PATH},LD_LIBRARY_PATH=${LD_LIBRARY_PATH} TestMPIAccess
95
96 gcov TestMPIAccess.cxx test_MPI_Access_Send_Recv.cxx \
97                        test_MPI_Access_Cyclic_Send_Recv.cxx \
98                        test_MPI_Access_SendRecv.cxx \
99                        test_MPI_Access_ISend_IRecv.cxx \
100                        test_MPI_Access_Cyclic_ISend_IRecv.cxx \
101                        test_MPI_Access_ISendRecv.cxx \
102                        test_MPI_Access_Probe.cxx \
103                        test_MPI_Access_IProbe.cxx \
104                        test_MPI_Access_Cancel.cxx \
105                        test_MPI_Access_Send_Recv_Length.cxx \
106                        test_MPI_Access_ISend_IRecv_Length.cxx \
107                        test_MPI_Access_ISend_IRecv_Length_1.cxx \
108                        test_MPI_Access_Time.cxx \
109                        test_MPI_Access_Time_0.cxx \
110                        test_MPI_Access_ISend_IRecv_BottleNeck.cxx \
111                        ../MPI_Access.cxx
112 gcov -o ../ TestMPIAccess.cxx test_MPI_Access_Send_Recv.cxx \
113                               test_MPI_Access_Cyclic_Send_Recv.cxx \
114                               test_MPI_Access_SendRecv.cxx \
115                               test_MPI_Access_ISend_IRecv.cxx \
116                               test_MPI_Access_Cyclic_ISend_IRecv.cxx \
117                               test_MPI_Access_ISendRecv.cxx \
118                               test_MPI_Access_Probe.cxx \
119                               test_MPI_Access_IProbe.cxx \
120                               test_MPI_Access_Cancel.cxx \
121                               test_MPI_Access_Send_Recv_Length.cxx \
122                               test_MPI_Access_ISend_IRecv_Length.cxx \
123                               test_MPI_Access_ISend_IRecv_Length_1.cxx \
124                               test_MPI_Access_Time.cxx \
125                               test_MPI_Access_Time_0.cxx \
126                               test_MPI_Access_ISend_IRecv_BottleNeck.cxx \
127                               ../MPI_Access.cxx
128
129
130 cd ${MED_BUILD_DIR}/src/ParaMEDMEM/Test
131 mpirun -np 11 -ssi rpi tcp C -v -x PATH=${PATH},LD_LIBRARY_PATH=${LD_LIBRARY_PATH} TestMPIAccessDEC
132
133 gcov TestMPIAccessDEC.cxx test_AllToAllDEC.cxx \
134                           test_AllToAllvDEC.cxx \
135                           test_AllToAllTimeDEC.cxx \
136                           test_AllToAllvTimeDEC.cxx \
137                           test_AllToAllvTimeDoubleDEC.cxx \
138                           ../TimeInterpolator.cxx \
139                           ../LinearTimeInterpolator.cxx \
140                           ../MPI_Access.cxx \
141                           ../MPI_AccessDEC.cxx
142 gcov -o ../ TestMPIAccessDEC.cxx test_AllToAllDEC.cxx \
143                                  test_AllToAllvDEC.cxx \
144                                  test_AllToAllTimeDEC.cxx \
145                                  test_AllToAllvTimeDEC.cxx \
146                                  test_AllToAllvTimeDoubleDEC.cxx \
147                                  ../TimeInterpolator.cxx \
148                                  ../LinearTimeInterpolator.cxx \
149                                  ../MPI_Access.cxx \
150                                  ../MPI_AccessDEC.cxx
151
152 cd ${MED_BUILD_DIR}/src/ParaMEDMEM/Test
153 mpirun -np 5 -ssi rpi tcp C -v -x PATH=${PATH},LD_LIBRARY_PATH=${LD_LIBRARY_PATH} TestParaMEDMEM
154
155 gcov TestParaMEDMEM.cxx ParaMEDMEMTest.cxx \
156                               ParaMEDMEMTest_MPIProcessorGroup.cxx \
157                               ParaMEDMEMTest_BlockTopology.cxx \
158                               ParaMEDMEMTest_InterpKernelDEC.cxx \
159                         ../BlockTopology.cxx \
160                         ../ComponentTopology.cxx \
161                         ../DEC.cxx \
162                         ../ElementLocator.cxx \
163                         ../InterpolationMatrix.cxx \
164                         ../InterpKernelDEC.cxx \
165                         ../MPIProcessorGroup.cxx \
166                         ../MxN_Mapping.cxx \
167                         ../ParaFIELD.cxx \
168                         ../ParaMESH.cxx \
169                         ../ParaSUPPORT.cxx \
170                         ../ProcessorGroup.cxx \
171                         ../TimeInterpolator.cxx \
172                         ../LinearTimeInterpolator.cxx \
173                         ../MPI_Access.cxx \
174                         ../MPI_AccessDEC.cxx
175
176 gcov -o ../ TestParaMEDMEM.cxx ParaMEDMEMTest.cxx \
177                                      ParaMEDMEMTest_MPIProcessorGroup.cxx \
178                                      ParaMEDMEMTest_BlockTopology.cxx \
179                                      ParaMEDMEMTest_InterpKernelDEC.cxx \
180                                ../BlockTopology.cxx \
181                                ../ComponentTopology.cxx \
182                                ../DEC.cxx \
183                                ../ElementLocator.cxx \
184                                ../InterpolationMatrix.cxx \
185                                ../InterpKernelDEC.cxx \
186                                ../MPIProcessorGroup.cxx \
187                                ../MxN_Mapping.cxx \
188                                ../ParaFIELD.cxx \
189                                ../ParaMESH.cxx \
190                                ../ParaSUPPORT.cxx \
191                                ../ProcessorGroup.cxx \
192                                ../TimeInterpolator.cxx \
193                                ../LinearTimeInterpolator.cxx \
194                                ../MPI_Access.cxx \
195                                ../MPI_AccessDEC.cxx