ddf5eaabd7f0f1d30939de09fcb5785791811c3b
[mirror/winof/.git] / ulp / dapl2 / test / dapltest / scripts / dt-cli.bat
1 @echo off
2 rem
3 rem Sample DAPLtest client Usage: dt-cli.bat hostname [testname -D]
4 rem
5
6 SETLOCAL
7
8 rem cmd.exe /V:on (delayed environment variable expansion) is required!
9 rem restart with /V:on if necessary
10 set F=on
11 set F=off
12 if not "!F!" == "off" (
13    %comspec% /E:on /V:on /C %0 %1 %2 %3 %4
14    exit /B %ERRORLEVEL%
15 )
16
17 rem set DAT_OVERRIDE=D:\dapl2\dat.conf
18 rem favor DAT 2.0 (dapl2test.exe) over DAT 1.1 (dapltest.exe)
19
20 if EXIST "%ProgramFiles(x86)%" (
21     set PF="%ProgramFiles(x86)%\WinOF"
22 ) else (
23     set PF="%ProgramFiles%\WinOF"
24 )
25
26 rem Program name of dt-svr preferes dapl2test.exe, otherwise prefer dapltest.exe
27 if "%0" == "dt-cli" (
28     if EXIST %PF%\dapl2test.exe (
29         set DT=dapl2test.exe
30         set D=ibnic0v2
31 rem     To debug dapl2test - use dapl2testd.exe with ibnic0v2d
32         goto OK
33     )
34 )
35
36 if EXIST %PF%\dapltest.exe (
37         set DT=dapltest.exe
38         set D=ibnic0
39         goto OK
40 )
41 echo Unable to find dapltest.exe or dapl2test.exe?
42 exit /B
43
44 :OK
45
46 set L=5
47 set X=
48 set T=
49
50 if "%1" == "" (
51     rem set /P S= [Server-Hostname]
52 ) else (
53     if "%1" == "-h" (
54         set T=
55     ) else (
56         set S=%1
57         set T=
58         if not "%2" == "" (
59             set T=%2
60             if "%3" == "-D" (
61                 set X=0xffff
62             )
63         )
64     )
65 )
66
67 if not "%X%" == "" (
68     set DAT_OS_DBG_TYPE=%X%
69     set DAT_DBG_TYPE=%X%
70     set DAT_DBG_LEVEL=%X%
71     set DAPL_DBG_LEVEL=%X%
72     set DAPL_DBG_TYPE=%X%
73 ) else (
74 rem    set DAT_DBG_TYPE=0x1
75 rem    set DAT_DBG_LEVEL=1
76 )
77
78 rem %DT% -T T -V -t 2 -w 2 -i 1000111 -s %S% -D %D% 
79 rem           client RW  4096 1    server RW  2048 4 
80 rem           client RR  1024 2    server RR  2048 2 
81 rem           client SR  1024 3 -f server SR   256 3 -f
82
83 rem %DT% -T T -P -t 1 -w 1 -i 1024 -s %S% -D %D%
84 rem             client RW  4096 1    server RW  2048 4 
85 rem             server RR  1024 2    client RR  2048 2 
86 rem             client SR  1024 3 -f server SR   256 3 -f
87
88 if "%T%" == "conn" (
89 rem Connectivity test - client sends one buffer with one 4KB segments, one time.
90 rem add '-d' for debug output.
91     echo Simple Connectivity test
92     %DT% -T T -s %S% -D %D% -i 1 -t 1 -w 1 client SR 4096 server SR 4096
93     exit /B
94 )
95
96 if "%T%" == "trans" (
97     echo %T%: Transaction test - 8192 iterations, 1 thread, SR 4KB buffers
98    %DT% -T T -s %S% -D %D% -i 8192 -t 1 -w 1 client SR 4096 server SR 4096
99     echo Finished %T%: Transaction test - 8192 iterations, 1 thread, SR 4KB buffers
100     exit /B
101 )
102
103 if "%T%" == "transm" (
104     echo %T%: Multiple RW, RR, SR transactions, 4096 iterations
105     %DT% -T T -P -t 1 -w 1 -i 4096 -s %S% -D %D% client RW  4096 1 server RW  2048 4  server RR  1024 2 client RR 2048 2 client SR 1024 3 -f server SR 256 3 -f
106     echo Finished %T%: Multiple RW, RR, SR transactions, 4096 iterations
107     exit /B
108 )
109
110 if "%T%" == "transt" (
111     echo %T%: Threads[4] Transaction test - 4096 iterations, 1 thread, SR 4KB buffers
112    %DT% -T T -s %S% -D %D% -i 4096 -t 4 -w 1 client SR 8192 3 server SR 8192 3
113     echo Finished %T%: Threads[4] Transaction test - 4096 iterations, 1 thread, SR 4KB buffers
114     exit /B
115 )
116
117 if "%T%" == "transme" (
118     echo %T%: 1 Thread Endpoints[4] transactions [RW, RR, SR], 4096 iterations
119     %DT% -T T -P -t 1 -w 4 -i 4096 -s %S% -D %D% client RW  4096 1 server RW  2048 4  server RR  1024 2 client RR 2048 2 client SR 1024 3 -f server SR 256 3 -f
120     echo Finished %T%: 1 Thread Endpoints[4] transactions [RW, RR, SR], 4096 iterations
121     exit /B
122 )
123
124 if "%T%" == "transmet" (
125     echo %T%: Threads[2] Endpoints[4] transactions[RW, RR, SR], 4096 iterations
126     %DT% -T T -P -t 2 -w 4 -i 4096 -s %S% -D %D% client RW  4096 1 server RW  2048 4  server RR  1024 2 client RR 2048 2 client SR 1024 3 -f server SR 256 3 -f
127     echo Finished %T%: Threads[2] Endpoints[4] transactions[RW, RR, SR], 4096 iterations
128     exit /B
129 )
130
131 if "%T%" == "transmete" (
132     echo %T%: Threads[4] Endpoints[4] transactions[RW, RR, SR], 8192 iterations
133     %DT% -T T -P -t 2 -w 4 -i 8192 -s %S% -D %D% client RW  4096 1 server RW  2048 4  server RR  1024 2 client RR 2048 2 client SR 1024 3 -f server SR 256 3 -f
134     echo Finished %T%: Threads[4] Endpoints[4] transactions[RW, RR, SR], 8192 iterations
135     exit /B
136 )
137
138 if "%T%" == "EPA" (
139     FOR /L %%j IN (2,1,5) DO (
140         FOR /L %%i IN (1,1,5) DO (
141              echo %T%: Multi: Threads[%%j] Endpoints[%%i] Send/Recv test - 4096 iterations, 3 8K segs
142              %DT% -T T -s %S% -D %D% -i 4096 -t %%j -w %%i client SR 8192 3 server SR 8192 3
143              if ERRORLEVEL 1 exit /B 
144              echo %T%: Multi: Threads[%%j] Endpoints[%%i] Send/Recv test - 4096 iterations, 3 8K segs
145              timeout /T 3
146         )
147     )
148     exit /B 
149 )
150
151 if "%T%" == "EP" (
152     set TH=4
153     set EP=5
154     echo %T%: Multi: Threads[!TH!] endpoints[!EP!] Send/Recv test - 4096 iterations, 3 8K segs
155     %DT% -T T -s %S% -D %D% -i 4096 -t !TH! -w !EP! client SR 8192 3 server SR 8192 3
156     echo %T%: Multi: Threads[!TH!] endpoints[!EP!] Send/Recv test - 4096 iterations, 3 8K segs
157     exit /B
158 )
159
160 if "%T%" == "threads" (
161     echo %T%: Multi Threaded[6] Send/Recv test - 4096 iterations, 3 8K segs
162     %DT% -T T -s %S% -D %D% -i 4096 -t 6 -w 1 client SR 8192 3 server SR 8192 3
163     echo Finished %T%: Multi Threaded[6] Send/Recv test - 4096 iterations, 3 8K segs
164     exit /B
165 )
166
167 if "%T%" == "threadsm" (
168     set TH=4
169     set EP=5
170     echo %T%: Multi: Threads[!TH!] endpoints[!EP!] Send/Recv test - 4096 iterations, 3 8K segs
171     %DT% -T T -s %S% -D %D% -i 4096 -t 6 -w 6 client SR 8192 3 server SR 8192 3
172     echo Finished %T%: Multi: Threads[!TH!] endpoints[!EP!] Send/Recv test - 4096 iterations, 3 8K segs
173     exit /B
174 )
175
176 if "%T%" == "perf" (
177     rem echo Performance test
178     %DT% -T P %DBG% -s %S% -D %D% -i 2048 RW 4096 2
179     exit /B
180 )
181
182 if "%T%" == "rdma-read" (
183     echo %T% 4 32K segs
184     %DT% -T P -s %S% -D %D% -i 4096 RR 32768 4
185     echo Finished %T% 4 32K segs
186     exit /B
187 )
188
189 if "%T%" == "rdma-write" (
190     echo %T% 4 32K segs
191     %DT% -T P -s %S% -D %D% -i 4096 RW 32768 4
192     echo Finished %T% 4 32K segs
193     exit /B
194 )
195
196 if "%T%" == "bw" (
197     echo bandwidth 4096 iterations of 2 65K mesgs
198     %DT% -T P -s %S% -D %D% -i 4096 -p 16 -m p RW 65536 2 
199     echo Finished bandwidth 4096 iterations of 2 65K mesgs
200     exit /B
201 )
202
203 if "%T%" == "latb" (
204     echo latency test - block for completion events
205     %DT% -T P -s %S% -D %D% -i 8192 -p 1 -m b RW 4 1
206     exit /B
207 )
208
209 if "%T%" == "latp" (
210     echo latency test - poll completion events
211     %DT% -T P -s %S% -D %D% -i 8192 -p 1 -m p RW 4 1
212     exit /B
213 )
214
215 if "%T%" == "lim" (
216     echo Resource limit tests
217     %DT% -T L -D %D% -w 8 -m 100 limit_ia
218     %DT% -T L -D %D% -w 8 -m 100 limit_pz
219     %DT% -T L -D %D% -w 8 -m 100 limit_evd
220     %DT% -T L -D %D% -w 8 -m 100 limit_ep
221     %DT% -T L -D %D% -w 8 -m 100 limit_psp
222     %DT% -T L -D %D% -w 8 -m 100 limit_lmr
223     %DT% -T L -D %D% -w 8 -m 15 limit_rpost
224     exit /B
225 )
226
227 if "%T%" == "regression" (
228     if "%X%" == "" (
229         if not "%3" == "" (
230             set L=%3
231         )
232     ) else (
233         if not "%4" == "" (
234             set L=%4
235         )
236     )
237     rem change % to ! - run cmd.exe /V:ON for loop count changes from cmd line
238     echo %T% testing in %L% Loops
239     REM rdma-write, read, perf
240     FOR /L %%i IN (1,1,%L%) DO (
241
242          call %0 %1 trans
243          if ERRORLEVEL 1 exit /B
244
245          echo in Loop %%i
246          call %0 %1 perf
247          if ERRORLEVEL 1 exit /B
248
249          echo in Loop %%i
250          call %0 %1 threads
251          if ERRORLEVEL 1 exit /B
252
253          echo in Loop %%i
254          call %0 %1 threadsm
255          if ERRORLEVEL 1 exit /B
256
257          echo in Loop %%i
258          call %0 %1 transm
259          if ERRORLEVEL 1 exit /B
260
261          echo in Loop %%i
262          call %0 %1 transt
263          if ERRORLEVEL 1 exit /B
264
265          echo in Loop %%i
266          call %0 %1 transme
267          if ERRORLEVEL 1 exit /B
268
269          echo in Loop %%i
270          call %0 %1 transmet
271          if ERRORLEVEL 1 exit /B
272
273          echo in Loop %%i
274          call %0 %1 transmete
275          if ERRORLEVEL 1 exit /B
276
277          echo in Loop %%i
278          call %0 %1 rdma-write
279          if ERRORLEVEL 1 exit /B
280          timeout /T 3
281
282          echo in Loop %%i
283          call %0 %1 rdma-read
284          if ERRORLEVEL 1 exit /B
285
286          echo in Loop %%i
287          call %0 %1 bw
288          if ERRORLEVEL 1 exit /B
289
290          echo in Loop %%i
291          call %0 %1 EP
292          if ERRORLEVEL 1 exit /B
293
294          echo Finished loop %%i, %T% loops completed.
295          timeout /T 4
296     )
297     exit /B
298 )
299
300 if "%T%" == "interop" (
301     if "%X%" == "" (
302         if not "%3" == "" (
303             set L=%3
304         )
305     ) else (
306         if not "%4" == "" (
307             set L=%4
308         )
309     )
310     rem change % to ! - run cmd.exe /V:ON for loop count changes from cmd line
311     echo %T% testing in %L% Loops
312     REM test units from Nov-'07 OFA interop event
313     FOR /L %%i IN (0,1,1) DO (
314          echo %DT% -T T -s %S% -D %D% -i 4096 -t 1 -w 1 -R BE client SR 256 1 server SR 256 1
315          %DT% -T T -s %S% -D %D% -i 4096 -t 1 -w 1 -R BE client SR 256 1 server SR 256 1
316          if ERRORLEVEL 1 exit /B
317          timeout /T 3
318          echo %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 1024 3 -f server SR 1536 2 -f
319          %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 1024 3 -f server SR 1536 2 -f
320          if ERRORLEVEL 1 exit /B
321          timeout /T 3
322          echo %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 1024 1 server SR 1024 1
323          %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 1024 1 server SR 1024 1
324          if ERRORLEVEL 1 exit /B
325          timeout /T 3
326          echo %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 10 -V -P -R BE client SR 1024 3 server SR 1536 2
327          %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 10 -V -P -R BE client SR 1024 3 server SR 1536 2
328          if ERRORLEVEL 1 exit /B
329          timeout /T 3
330          echo %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 256 1 server RW 4096 1 server SR 256 1
331          %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 256 1 server RW 4096 1 server SR 256 1
332          if ERRORLEVEL 1 exit /B
333          timeout /T 3
334          echo %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 256 1 server RR 4096 1 server SR 256 1
335          %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 256 1 server RR 4096 1 server SR 256 1
336          if ERRORLEVEL 1 exit /B
337          timeout /T 3
338          echo %DT% -T T -s %S% -D %D% -i 100 -t 4 -w 8 -V -P -R BE client SR 256 1 server RR 4096 1 server SR 256 1 client SR 256 1 server RR 4096 1 server SR 256 1
339          %DT% -T T -s %S% -D %D% -i 100 -t 4 -w 8 -V -P -R BE client SR 256 1 server RR 4096 1 server SR 256 1 client SR 256 1 server RR 4096 1 server SR 256 1
340          if ERRORLEVEL 1 exit /B
341          timeout /T 3
342          echo %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 8192 2
343          %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 8192 2
344          if ERRORLEVEL 1 exit /B
345          timeout /T 3
346          echo %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 2
347          %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 2
348          if ERRORLEVEL 1 exit /B
349          timeout /T 3
350          echo %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 1
351          %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 1
352          if ERRORLEVEL 1 exit /B
353          timeout /T 3
354          echo %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 10 -V -P -R BE client SR 1024 3 server SR 1536 2
355          %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 10 -V -P -R BE client SR 1024 3 server SR 1536 2
356          if ERRORLEVEL 1 exit /B
357          echo %%i %T% loops completed.
358     )
359     exit /B
360 )
361
362 if "%T%" == "stop" (
363     %DT% -T Q -s %S% -D %D%
364     exit /B
365 )
366
367 echo usage: dt-cli hostname [testname [-D]]
368 echo   where testname
369 echo     stop - request DAPLtest server to exit.
370 echo     conn - simple connection test with limited data transfer
371 echo     EP - Multiple EndPoints(7) and Threads(5) Transactions
372 echo     EPA - Increment EndPoints[1..5] while increasing threads[1-5]
373 echo     trans - single transaction test
374 echo     transm - transaction test: multiple transactions [RW SND, RDMA]
375 echo     transt - transaction test: multi-threaded
376 echo     transme - transaction test: multi-endpoints per thread 
377 echo     transmet - transaction test: multi-endpoints per thread, multiple threads
378 echo     transmete - transaction test: multi threads == endpoints
379 echo     perf - Performance test
380 echo     threads - multi-threaded single transaction test.
381 echo     threadsm - multi: threads and endpoints, single transaction test.
382 echo     rdma-write - RDMA write
383 echo     rdma-read - RDMA read
384 echo     bw - bandwidth
385 echo     latb - latency tests, blocking for events
386 echo     latp - latency tests, polling for events
387 echo     lim - limit tests.
388 echo     regression - loop over a collection of all tests.
389 echo     interop - collection of test-units from OFA interoperability event 2007.
390
391 ENDLOCAL
392 @echo on
393 @exit /B