~ubuntu-branches/ubuntu/vivid/atlas/vivid

« back to all changes in this revision

Viewing changes to makes/Make.mmtune

  • Committer: Package Import Robot
  • Author(s): Sébastien Villemot
  • Date: 2013-06-11 15:58:16 UTC
  • mfrom: (1.1.3 upstream)
  • mto: (2.2.21 experimental)
  • mto: This revision was merged to the branch mainline in revision 26.
  • Revision ID: package-import@ubuntu.com-20130611155816-b72z8f621tuhbzn0
Tags: upstream-3.10.1
Import upstream version 3.10.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
$(INCAdir)/atlas_type.h : 
9
9
        cd $(SYSdir) ; $(MAKE) RunTyp
10
10
 
11
 
RunL1 : force_build
 
11
$(SYSdir)/res/L1CacheSize :
12
12
        rm -f res/L1CacheSize
13
13
        cd $(SYSdir) ; $(MAKE) res/L1CacheSize
 
14
        
 
15
RunL1 : force_build
 
16
        $(MAKE) $(SYSdir)/res/L1CacheSize 
14
17
        ln -s $(SYSdir)/res/L1CacheSize res/L1CacheSize
15
18
 
16
19
RunTLB : 
17
20
        cd $(SYSdir) ; $(MAKE) RunTLB
18
21
 
19
 
RunMulAdd: force_build
 
22
$(SYSdir)/res/$(pre)MULADD : 
20
23
        rm -f res/$(pre)MULADD
21
 
        cd $(SYSdir) ; $(MAKE) res/$(pre)MULADD pre=$(pre) maxlat=$(maxlat) \
22
 
                                         mflop=$(mflop)
 
24
        cd $(SYSdir) ; $(MAKE) res/$(pre)MULADD pre=$(pre) 
 
25
RunMulAdd: $(SYSdir)/res/$(pre)MULADD
23
26
        ln -s $(SYSdir)/res/$(pre)MULADD res/$(pre)MULADD
24
27
 
25
28
RunTyp: force_build
30
33
 
31
34
L3INCdep = $(INCSdir)/atlas_misc.h $(INCSdir)/atlas_lvl3.h \
32
35
           $(INCSdir)/atlas_f77.h $(INCAdir)/atlas_type.h
 
36
parsedeps = $(INCSdir)/atlas_mmparse.h $(INCSdir)/atlas_mmtesttime.h \
 
37
            $(INCSdir)/atlas_genparse.h $(INCSdir)/atlas_gentesttime.h
 
38
basf = /home/whaley/git/math-atlas/AtlasBase/Clint/atlas-mmg.base
 
39
extC = $(BINdir)/xextract -b $(basf) -langC
33
40
if = -1
34
41
nf = 0
35
42
ff = 0
75
82
mmlib =
76
83
pfA = 0
77
84
flagfile=ignore
 
85
srchflags=
78
86
casarg = pre=$(pre) ta=$(ta) tb=$(tb) muladd=$(muladd) lat=$(lat) \
79
87
         loopO=$(loopO) M=$(M) N=$(N) K=$(K) mb=$(mb) nb=$(nb) kb=$(kb) \
80
88
         mu=$(mu) nu=$(nu) ku=$(ku) lda=$(lda) ldb=$(ldb) ldc=$(ldc) \
82
90
         csA=$(csA) csB=$(csB) csC=$(csC) alpha=$(alpha) beta=$(beta) \
83
91
         moves="$(moves)" cleanup=$(cleanup) mmrout="$(mmrout)" \
84
92
         SMC="$(SMC)" SMCFLAGS="$(SMCFLAGS)" DMC="$(DMC)" DMCFLAGS="$(DMCFLAGS)"
 
93
EXTSEARCHES = -e res/$(pre)MMKSSE.sum
85
94
 
86
95
RunMMDef : xmmsearch
87
 
        ./xmmsearch -p $(pre) -R -2
 
96
        ./xmmsearch -p $(pre)
 
97
RunGMMSearch : xgmmsearch
 
98
        ./xgmmsearch -p $(pre)
88
99
RunUMMSearch : xummsearch
89
 
        ./xummsearch -p $(pre) -n $(nb)
 
100
        ./xummsearch -p $(pre) -n $(nb) $(EXTSEARCHES)
90
101
RunUMMClean : xummsearch
91
102
        ./xummsearch -p $(pre) -n $(nb) -C $(which)
 
103
$(BINdir)/xextract :
 
104
        cd $(BINdir) ; $(MAKE) xextract
92
105
$(BINdir)/xsubstr:
93
106
        cd $(BINdir) ; $(MAKE) xsubstr
 
107
res/goodgcc.txt :
 
108
        echo "'$(GOODGCC)'" > res/goodgcc.txt
94
109
$(flagfile) : xuserflag $(BINdir)/xsubstr $(mySRCdir)/CASES/$(flagfile)
95
110
        - rm -f ATL_tMpFiLe
96
111
        $(BINdir)/xsubstr -o ATL_tMpFiLe -i $(mySRCdir)/CASES/$(flagfile) \
104
119
        ./xuserflag -i ATL_tMpFiLe -o $(outfile)
105
120
        - rm -f ATL_tMpFiLe
106
121
 
107
 
xuserindex : $(INCAdir)/atlas_type.h userindex.o xusercomb
 
122
xuserindex : $(INCAdir)/atlas_type.h userindex.o xusercomb $(parsedeps)
108
123
        $(XCC) $(XCCFLAGS) -o $@ userindex.o
109
 
userindex.o : $(mySRCdir)/userindex.c
 
124
userindex.o : $(mySRCdir)/userindex.c $(parsedeps)
110
125
        $(XCC) -c $(XCCFLAGS) $(mySRCdir)/userindex.c
111
 
xuserflag : $(INCAdir)/atlas_type.h userflag.o  
 
126
xuserflag : $(INCAdir)/atlas_type.h userflag.o   $(parsedeps)
112
127
        $(XCC) $(XCCFLAGS) -o $@ userflag.o
113
 
userflag.o : $(mySRCdir)/userflag.c
 
128
userflag.o : $(mySRCdir)/userflag.c $(parsedeps)
114
129
        $(XCC) -c $(XCCFLAGS) $(mySRCdir)/userflag.c
115
 
xusercomb : $(INCAdir)/atlas_type.h usercomb.o  
 
130
xusercomb : $(INCAdir)/atlas_type.h usercomb.o   $(parsedeps)
116
131
        $(XCC) $(XCCFLAGS) -o $@ usercomb.o
117
 
usercomb.o : $(mySRCdir)/usercomb.c
 
132
usercomb.o : $(mySRCdir)/usercomb.c $(parsedeps)
118
133
        $(XCC) -c $(XCCFLAGS) $(mySRCdir)/usercomb.c
119
 
xummsearch : $(INCAdir)/atlas_type.h ummsearch.o scases.dsc dcases.dsc ccases.dsc zcases.dsc
 
134
xummsearch : $(INCAdir)/atlas_type.h ummsearch.o scases.dsc dcases.dsc ccases.dsc zcases.dsc $(parsedeps)
120
135
        $(XCC) $(XCCFLAGS) -o $@ ummsearch.o
121
 
ummsearch.o : $(mySRCdir)/ummsearch.c
 
136
ummsearch.o : $(mySRCdir)/ummsearch.c $(parsedeps)
122
137
        $(XCC) -c $(XCCFLAGS) $(mySRCdir)/ummsearch.c
123
 
xmmsearch : $(INCAdir)/atlas_type.h mmsearch.o  
 
138
xgmmsearch : $(INCAdir)/atlas_type.h gmmsearch.o   $(parsedeps)
 
139
        $(XCC) $(XCCFLAGS) -o $@ gmmsearch.o
 
140
gmmsearch.o : $(mySRCdir)/gmmsearch.c $(parsedeps)
 
141
        $(XCC) -c $(XCCFLAGS) $(mySRCdir)/gmmsearch.c
 
142
xmmcuncpsearch : $(INCAdir)/atlas_type.h mmcuncpsearch.o   $(parsedeps)
 
143
        $(XCC) $(XCCFLAGS) -o $@ mmcuncpsearch.o
 
144
mmcuncpsearch.o : $(mySRCdir)/mmcuncpsearch.c $(parsedeps)
 
145
        $(XCC) -c $(XCCFLAGS) $(mySRCdir)/mmcuncpsearch.c
 
146
xmmflagsearch : $(INCAdir)/atlas_type.h mmflagsearch.o   $(parsedeps)
 
147
        $(XCC) $(XCCFLAGS) -o $@ mmflagsearch.o
 
148
mmflagsearch.o : $(mySRCdir)/mmflagsearch.c $(parsedeps)
 
149
        $(XCC) -c $(XCCFLAGS) $(mySRCdir)/mmflagsearch.c
 
150
xmmsearch : $(INCAdir)/atlas_type.h mmsearch.o xmmcuncpsearch $(parsedeps)
124
151
        $(XCC) $(XCCFLAGS) -o $@ mmsearch.o
125
 
mmsearch.o : $(mySRCdir)/mmsearch.c
 
152
mmsearch.o : $(mySRCdir)/mmsearch.c $(parsedeps)
126
153
        $(XCC) -c $(XCCFLAGS) $(mySRCdir)/mmsearch.c
127
154
 
 
155
SSEGENOUTDIR :
 
156
        mkdir SSEGENOUTDIR
 
157
xmmgen_sse : $(mySRCdir)/mmgen_sse.c
 
158
        $(XCC) -o $@ $(mySRCdir)/mmgen_sse.c -lm
 
159
xmmksearch_sse : xmmgen_sse mmksearch_sse.o SSEGENOUTDIR
 
160
        $(XCC) $(XCCFLAGS) -o $@ mmksearch_sse.o
 
161
mmksearch_sse.o : $(mySRCdir)/mmksearch_sse.c $(parsedeps)
 
162
        $(XCC) -c $(XCCFLAGS) $(mySRCdir)/mmksearch_sse.c
 
163
xmmsearch_sse : $(INCAdir)/atlas_type.h $(INCSdir)/atlas_mmtesttime.h \
 
164
                $(INCSdir)/atlas_mmparse.h $(INCSdir)/atlas_genpars.h \
 
165
                mmsearch_sse.c
 
166
        $(XCC) $(XCCFLAGS) -o $@ mmsearch_sse.c
 
167
 
128
168
res/L1CacheSize :
129
169
        $(MAKE) RunL1
130
170
 
131
 
res/$(pre)MULADD :
132
 
        $(MAKE) RunMulAdd pre=$(pre)
 
171
res/$(pre)MULADD : $(SYSdir)/res/$(pre)MULADD 
133
172
 
134
173
res/$(pre)bestTT_$(bnb)x$(bnb)x$(bnb) : xmmsearch xemit_mm 
135
174
        ./xmmsearch -p $(pre)
193
232
res/atlas_cacheedge.h :
194
233
        $(MAKE) $(pre)RunFindCE
195
234
 
 
235
        
196
236
res/atlas_zdNKB.h :
197
237
        $(MAKE) zdRunFindCE
198
238
res/atlas_csNKB.h :
199
239
        $(MAKE) csRunFindCE
200
240
 
 
241
xemit_vkb  : emit_vKB.o
 
242
        $(XCC) $(XCCFLAGS) -o xemit_vkb emit_vKB.o
 
243
 
201
244
xemit_mm  : emit_mm.o
202
245
        $(XCC) $(XCCFLAGS) -o xemit_mm emit_mm.o
203
246
 
223
266
$(pre)killNC :
224
267
        rm -f res/$(pre)best*
225
268
$(pre)killMM : $(pre)killclean $(pre)killNC
226
 
        rm -f res/$(pre)MMRES res/$(pre)*NB
227
 
 
228
 
 
 
269
        rm -f res/$(pre)MMRES res/$(pre)*MMRES.sum res/$(pre)*NB
 
270
xvmmf_gccsub : $(mySRCdir)/vmmf_gccsub.c
 
271
        $(XCC) $(XCCFLAGS) -o xvmmf_gccsub $(mySRCdir)/vmmf_gccsub.c
 
272
 
 
273
res/sMMKSSE.sum : xmmksearch_sse force_build
 
274
        ./xmmksearch_sse -p s
 
275
res/svMMRES : res/svgMMRES xvnbmmsearch scases.vnb
 
276
        ./xvnbmmsearch -p s
 
277
res/svgMMRES : res/sgMMRES
 
278
        $(MAKE) xmm_old2new
 
279
        ./xmm_old2new -i res/sgMMRES -o res/svgMMRES
 
280
 
 
281
scases.vnb : $(mySRCdir)/CASES/scases.vnb xvmmf_gccsub
 
282
        cp $(mySRCdir)/CASES/scases.vnb scases.vnb
 
283
        ./xvmmf_gccsub 'gcc' '$(GOODGCC)' scases.vnb
229
284
scases.dsc: xuserindex $(mySRCdir)/CASES/scases.0 $(mySRCdir)/CASES/scases.SSE \
230
285
                 $(mySRCdir)/CASES/scases.3DN $(mySRCdir)/CASES/scases.flg 
231
286
        ./xuserindex -p s
232
 
res/snreg : xmmsearch
233
 
        ./xmmsearch -p s -R -5
 
287
res/snreg : xgmmsearch
 
288
        ./xgmmsearch -p s -r -1
234
289
sRun_tfc : stfc
235
290
        $(ATLRUN) $(MMTdir) xstfc
236
291
        cp -f $(INCAdir)/sXover.h res/.
239
294
        $(MAKE) xstfc pre=s typ=SREAL
240
295
 
241
296
 
242
 
sinstall : xemit_mm res/sMMRES $(BINdir)/xccobj \
 
297
sinstall : xemit_mm res/sMMRES.sum $(BINdir)/xccobj \
243
298
                res/sCleanM res/sCleanN res/sCleanK \
244
299
                res/suCleanMF res/suCleanNF res/suCleanKF 
245
300
        ./xemit_mm  -p s -R -2
250
305
        cd $(GMMdir)/KERNEL ; rm -f sMakefile xccobj
251
306
        cd KERNEL ; mv -f ATL_s*.c $(GMMdir)/KERNEL/.
252
307
        mv -f KERNEL/sMakefile $(GMMdir)/KERNEL/.
253
 
        -@ cp -f $(BINdir)/xccobj $(GMMdir)/KERNEL/.
254
 
        -@ cp -f $(BINdir)/xccobj.exe $(GMMdir)/KERNEL/.
255
 
        $(MAKE) res/atlas_cacheedge.h
256
 
        $(MAKE) res/sXover.h pre=s
 
308
        if [ -s "xccobj.exe" ] ; then \
 
309
           cp -f xccobj.exe $(GMMdir)/. ; \
 
310
        elif [ -s "xccobj" ]; then \
 
311
           cp -f xccobj $(GMMdir)/. ; \
 
312
        fi
257
313
        $(MAKE) smmlib
258
314
        touch sinstall
259
315
 
260
 
res/sMMRES :
 
316
res/sMMRES.sum :
261
317
        $(MAKE) xmmsearch
262
318
        ./xmmsearch -p s
263
319
res/suCleanKF :
264
 
        $(MAKE) xmmsearch
265
 
        ./xmmsearch -p s -R -3
 
320
        $(MAKE) xmmcuncpsearch
 
321
        ./xmmcuncpsearch -p s -R -3
266
322
res/suCleanNF :
267
 
        $(MAKE) xmmsearch
268
 
        ./xmmsearch -p s -R -3
 
323
        $(MAKE) xmmcuncpsearch
 
324
        ./xmmcuncpsearch -p s -R -3
269
325
res/suCleanMF :
270
 
        $(MAKE) xmmsearch
271
 
        ./xmmsearch -p s -R -3
 
326
        $(MAKE) xmmcuncpsearch
 
327
        ./xmmcuncpsearch -p s -R -3
272
328
res/sCleanK :
273
 
        $(MAKE) xmmsearch
274
 
        ./xmmsearch -p s -R -3
 
329
        $(MAKE) xmmcuncpsearch
 
330
        ./xmmcuncpsearch -p s -R -3
275
331
res/sCleanN :
276
 
        $(MAKE) xmmsearch
277
 
        ./xmmsearch -p s -R -3
 
332
        $(MAKE) xmmcuncpsearch
 
333
        ./xmmcuncpsearch -p s -R -3
278
334
res/sCleanM :
279
 
        $(MAKE) xmmsearch
280
 
        ./xmmsearch -p s -R -3
 
335
        $(MAKE) xmmcuncpsearch
 
336
        ./xmmcuncpsearch -p s -R -3
 
337
res/smmksearch_sse :
 
338
        $(MAKE) xmmcuncpsearch
 
339
        ./xmmcuncpsearch -p s -R -3
281
340
 
282
341
sRunFindCE : xsfindCE
283
342
        $(ATLRUN) $(MMTdir) xsfindCE -f res/atlas_cacheedge.h
284
343
        cp -f res/atlas_cacheedge.h $(INCAdir)/atlas_cacheedge.h
285
 
 
286
 
 
 
344
sssegenf = CASES/sgenmm_sse.c
 
345
sgensseK : xmmgen_sse
 
346
        rm -f ssegen_b0.c ssegen_b1.c ssegen_bX.c $(sssegenf)
 
347
        ./xmmgen_sse -p s -m $(mu) -n $(nu) -k $(ku) -M $(MB) -N $(NB) \
 
348
                      -K $(KB) -lda $(lda) -ldb $(ldb) -ldc $(ldc) \
 
349
                      $(ssegenflags) -beta 0 -f ssegen_b0.c
 
350
        ./xmmgen_sse -p s -m $(mu) -n $(nu) -k $(ku) -M $(MB) -N $(NB) \
 
351
                   -K $(KB) -lda $(lda) -ldb $(ldb) -ldc $(ldc) \
 
352
                   $(ssegenflags) -beta 1 -f ssegen_b1.c
 
353
        ./xmmgen_sse -p s -m $(mu) -n $(nu) -k $(ku) -M $(MB) -N $(NB) \
 
354
                   -K $(KB) -lda $(lda) -ldb $(ldb) -ldc $(ldc) \
 
355
                   $(ssegenflags) -beta 8 -f ssegen_bX.c
 
356
        echo "#ifdef BETA0" > $(sssegenf)
 
357
        cat ssegen_b0.c >> $(sssegenf)
 
358
        echo "#elif defined(BETAX)" >> $(sssegenf)
 
359
        cat ssegen_bX.c >> $(sssegenf)
 
360
        echo "#else" >> $(sssegenf)
 
361
        cat ssegen_b1.c >> $(sssegenf)
 
362
        echo "#endif" >> $(sssegenf)
 
363
res/dMMKSSE.sum : xmmksearch_sse force_build
 
364
        ./xmmksearch_sse -p d
 
365
res/dvMMRES : res/dvgMMRES xvnbmmsearch dcases.vnb
 
366
        ./xvnbmmsearch -p d
 
367
res/dvgMMRES : res/dgMMRES
 
368
        $(MAKE) xmm_old2new
 
369
        ./xmm_old2new -i res/dgMMRES -o res/dvgMMRES
 
370
 
 
371
dcases.vnb : $(mySRCdir)/CASES/dcases.vnb xvmmf_gccsub
 
372
        cp $(mySRCdir)/CASES/dcases.vnb dcases.vnb
 
373
        ./xvmmf_gccsub 'gcc' '$(GOODGCC)' dcases.vnb
287
374
dcases.dsc: xuserindex $(mySRCdir)/CASES/dcases.0 $(mySRCdir)/CASES/dcases.SSE \
288
375
                 $(mySRCdir)/CASES/dcases.3DN $(mySRCdir)/CASES/dcases.flg 
289
376
        ./xuserindex -p d
290
 
res/dnreg : xmmsearch
291
 
        ./xmmsearch -p d -R -5
 
377
res/dnreg : xgmmsearch
 
378
        ./xgmmsearch -p d -r -1
292
379
dRun_tfc : dtfc
293
380
        $(ATLRUN) $(MMTdir) xdtfc
294
381
        cp -f $(INCAdir)/dXover.h res/.
297
384
        $(MAKE) xdtfc pre=d typ=DREAL
298
385
 
299
386
 
300
 
dinstall : xemit_mm res/dMMRES $(BINdir)/xccobj \
 
387
dinstall : xemit_mm res/dMMRES.sum $(BINdir)/xccobj \
301
388
                res/dCleanM res/dCleanN res/dCleanK \
302
389
                res/duCleanMF res/duCleanNF res/duCleanKF 
303
390
        ./xemit_mm  -p d -R -2
308
395
        cd $(GMMdir)/KERNEL ; rm -f dMakefile xccobj
309
396
        cd KERNEL ; mv -f ATL_d*.c $(GMMdir)/KERNEL/.
310
397
        mv -f KERNEL/dMakefile $(GMMdir)/KERNEL/.
311
 
        -@ cp -f $(BINdir)/xccobj $(GMMdir)/KERNEL/.
312
 
        -@ cp -f $(BINdir)/xccobj.exe $(GMMdir)/KERNEL/.
313
 
        $(MAKE) res/atlas_cacheedge.h
314
 
        $(MAKE) res/dXover.h pre=d
 
398
        if [ -s "xccobj.exe" ] ; then \
 
399
           cp -f xccobj.exe $(GMMdir)/. ; \
 
400
        elif [ -s "xccobj" ]; then \
 
401
           cp -f xccobj $(GMMdir)/. ; \
 
402
        fi
315
403
        $(MAKE) dmmlib
316
404
        touch dinstall
317
405
 
318
 
res/dMMRES :
 
406
res/dMMRES.sum :
319
407
        $(MAKE) xmmsearch
320
408
        ./xmmsearch -p d
321
409
res/duCleanKF :
322
 
        $(MAKE) xmmsearch
323
 
        ./xmmsearch -p d -R -3
 
410
        $(MAKE) xmmcuncpsearch
 
411
        ./xmmcuncpsearch -p d -R -3
324
412
res/duCleanNF :
325
 
        $(MAKE) xmmsearch
326
 
        ./xmmsearch -p d -R -3
 
413
        $(MAKE) xmmcuncpsearch
 
414
        ./xmmcuncpsearch -p d -R -3
327
415
res/duCleanMF :
328
 
        $(MAKE) xmmsearch
329
 
        ./xmmsearch -p d -R -3
 
416
        $(MAKE) xmmcuncpsearch
 
417
        ./xmmcuncpsearch -p d -R -3
330
418
res/dCleanK :
331
 
        $(MAKE) xmmsearch
332
 
        ./xmmsearch -p d -R -3
 
419
        $(MAKE) xmmcuncpsearch
 
420
        ./xmmcuncpsearch -p d -R -3
333
421
res/dCleanN :
334
 
        $(MAKE) xmmsearch
335
 
        ./xmmsearch -p d -R -3
 
422
        $(MAKE) xmmcuncpsearch
 
423
        ./xmmcuncpsearch -p d -R -3
336
424
res/dCleanM :
337
 
        $(MAKE) xmmsearch
338
 
        ./xmmsearch -p d -R -3
 
425
        $(MAKE) xmmcuncpsearch
 
426
        ./xmmcuncpsearch -p d -R -3
339
427
 
340
428
dRunFindCE : xdfindCE
341
429
        $(ATLRUN) $(MMTdir) xdfindCE -f res/atlas_cacheedge.h
342
430
        cp -f res/atlas_cacheedge.h $(INCAdir)/atlas_cacheedge.h
343
 
 
344
 
 
 
431
dssegenf = CASES/dgenmm_sse.c
 
432
dgensseK : xmmgen_sse
 
433
        rm -f ssegen_b0.c ssegen_b1.c ssegen_bX.c $(dssegenf)
 
434
        ./xmmgen_sse -p d -m $(mu) -n $(nu) -k $(ku) -M $(MB) -N $(NB) \
 
435
                      -K $(KB) -lda $(lda) -ldb $(ldb) -ldc $(ldc) \
 
436
                      $(ssegenflags) -beta 0 -f ssegen_b0.c
 
437
        ./xmmgen_sse -p d -m $(mu) -n $(nu) -k $(ku) -M $(MB) -N $(NB) \
 
438
                   -K $(KB) -lda $(lda) -ldb $(ldb) -ldc $(ldc) \
 
439
                   $(ssegenflags) -beta 1 -f ssegen_b1.c
 
440
        ./xmmgen_sse -p d -m $(mu) -n $(nu) -k $(ku) -M $(MB) -N $(NB) \
 
441
                   -K $(KB) -lda $(lda) -ldb $(ldb) -ldc $(ldc) \
 
442
                   $(ssegenflags) -beta 8 -f ssegen_bX.c
 
443
        echo "#ifdef BETA0" > $(dssegenf)
 
444
        cat ssegen_b0.c >> $(dssegenf)
 
445
        echo "#elif defined(BETAX)" >> $(dssegenf)
 
446
        cat ssegen_bX.c >> $(dssegenf)
 
447
        echo "#else" >> $(dssegenf)
 
448
        cat ssegen_b1.c >> $(dssegenf)
 
449
        echo "#endif" >> $(dssegenf)
 
450
res/qMMKSSE.sum : xmmksearch_sse force_build
 
451
        ./xmmksearch_sse -p q
 
452
res/qvMMRES : res/qvgMMRES xvnbmmsearch qcases.vnb
 
453
        ./xvnbmmsearch -p q
 
454
res/qvgMMRES : res/qgMMRES
 
455
        $(MAKE) xmm_old2new
 
456
        ./xmm_old2new -i res/qgMMRES -o res/qvgMMRES
 
457
 
 
458
qcases.vnb : $(mySRCdir)/CASES/qcases.vnb xvmmf_gccsub
 
459
        cp $(mySRCdir)/CASES/qcases.vnb qcases.vnb
 
460
        ./xvmmf_gccsub 'gcc' '$(GOODGCC)' qcases.vnb
345
461
qcases.dsc: xuserindex $(mySRCdir)/CASES/qcases.0 $(mySRCdir)/CASES/qcases.SSE \
346
462
                 $(mySRCdir)/CASES/qcases.3DN $(mySRCdir)/CASES/qcases.flg 
347
463
        ./xuserindex -p q
348
 
res/qnreg : xmmsearch
349
 
        ./xmmsearch -p q -R -5
 
464
res/qnreg : xgmmsearch
 
465
        ./xgmmsearch -p q -r -1
350
466
qRun_tfc : qtfc
351
467
        $(ATLRUN) $(MMTdir) xqtfc
352
468
        cp -f $(INCAdir)/qXover.h res/.
355
471
        $(MAKE) xqtfc pre=q typ=QREAL
356
472
 
357
473
 
358
 
qinstall : xemit_mm res/qMMRES $(BINdir)/xccobj \
 
474
qinstall : xemit_mm res/qMMRES.sum $(BINdir)/xccobj \
359
475
                res/qCleanM res/qCleanN res/qCleanK \
360
476
                res/quCleanMF res/quCleanNF res/quCleanKF 
361
477
        ./xemit_mm  -p q -R -2
366
482
        cd $(GMMdir)/KERNEL ; rm -f qMakefile xccobj
367
483
        cd KERNEL ; mv -f ATL_q*.c $(GMMdir)/KERNEL/.
368
484
        mv -f KERNEL/qMakefile $(GMMdir)/KERNEL/.
369
 
        -@ cp -f $(BINdir)/xccobj $(GMMdir)/KERNEL/.
370
 
        -@ cp -f $(BINdir)/xccobj.exe $(GMMdir)/KERNEL/.
371
 
        $(MAKE) res/atlas_cacheedge.h
372
 
        $(MAKE) res/qXover.h pre=q
 
485
        if [ -s "xccobj.exe" ] ; then \
 
486
           cp -f xccobj.exe $(GMMdir)/. ; \
 
487
        elif [ -s "xccobj" ]; then \
 
488
           cp -f xccobj $(GMMdir)/. ; \
 
489
        fi
373
490
        $(MAKE) qmmlib
374
491
        touch qinstall
375
492
 
376
 
res/qMMRES :
 
493
res/qMMRES.sum :
377
494
        $(MAKE) xmmsearch
378
495
        ./xmmsearch -p q
379
496
res/quCleanKF :
380
 
        $(MAKE) xmmsearch
381
 
        ./xmmsearch -p q -R -3
 
497
        $(MAKE) xmmcuncpsearch
 
498
        ./xmmcuncpsearch -p q -R -3
382
499
res/quCleanNF :
383
 
        $(MAKE) xmmsearch
384
 
        ./xmmsearch -p q -R -3
 
500
        $(MAKE) xmmcuncpsearch
 
501
        ./xmmcuncpsearch -p q -R -3
385
502
res/quCleanMF :
386
 
        $(MAKE) xmmsearch
387
 
        ./xmmsearch -p q -R -3
 
503
        $(MAKE) xmmcuncpsearch
 
504
        ./xmmcuncpsearch -p q -R -3
388
505
res/qCleanK :
389
 
        $(MAKE) xmmsearch
390
 
        ./xmmsearch -p q -R -3
 
506
        $(MAKE) xmmcuncpsearch
 
507
        ./xmmcuncpsearch -p q -R -3
391
508
res/qCleanN :
392
 
        $(MAKE) xmmsearch
393
 
        ./xmmsearch -p q -R -3
 
509
        $(MAKE) xmmcuncpsearch
 
510
        ./xmmcuncpsearch -p q -R -3
394
511
res/qCleanM :
395
 
        $(MAKE) xmmsearch
396
 
        ./xmmsearch -p q -R -3
 
512
        $(MAKE) xmmcuncpsearch
 
513
        ./xmmcuncpsearch -p q -R -3
397
514
 
398
515
qRunFindCE : xqfindCE
399
516
        $(ATLRUN) $(MMTdir) xqfindCE -f res/atlas_cacheedge.h
400
517
        cp -f res/atlas_cacheedge.h $(INCAdir)/atlas_cacheedge.h
401
 
 
402
 
 
 
518
qssegenf = CASES/qgenmm_sse.c
 
519
qgensseK : xmmgen_sse
 
520
        rm -f ssegen_b0.c ssegen_b1.c ssegen_bX.c $(qssegenf)
 
521
        ./xmmgen_sse -p q -m $(mu) -n $(nu) -k $(ku) -M $(MB) -N $(NB) \
 
522
                      -K $(KB) -lda $(lda) -ldb $(ldb) -ldc $(ldc) \
 
523
                      $(ssegenflags) -beta 0 -f ssegen_b0.c
 
524
        ./xmmgen_sse -p q -m $(mu) -n $(nu) -k $(ku) -M $(MB) -N $(NB) \
 
525
                   -K $(KB) -lda $(lda) -ldb $(ldb) -ldc $(ldc) \
 
526
                   $(ssegenflags) -beta 1 -f ssegen_b1.c
 
527
        ./xmmgen_sse -p q -m $(mu) -n $(nu) -k $(ku) -M $(MB) -N $(NB) \
 
528
                   -K $(KB) -lda $(lda) -ldb $(ldb) -ldc $(ldc) \
 
529
                   $(ssegenflags) -beta 8 -f ssegen_bX.c
 
530
        echo "#ifdef BETA0" > $(qssegenf)
 
531
        cat ssegen_b0.c >> $(qssegenf)
 
532
        echo "#elif defined(BETAX)" >> $(qssegenf)
 
533
        cat ssegen_bX.c >> $(qssegenf)
 
534
        echo "#else" >> $(qssegenf)
 
535
        cat ssegen_b1.c >> $(qssegenf)
 
536
        echo "#endif" >> $(qssegenf)
 
537
res/cMMKSSE.sum : xmmksearch_sse force_build
 
538
        ./xmmksearch_sse -p c
 
539
res/cvMMRES : res/cvgMMRES xvnbmmsearch ccases.vnb
 
540
        ./xvnbmmsearch -p c
 
541
res/cvgMMRES : res/cgMMRES
 
542
        $(MAKE) xmm_old2new
 
543
        ./xmm_old2new -i res/cgMMRES -o res/cvgMMRES
 
544
 
 
545
ccases.vnb : $(mySRCdir)/CASES/ccases.vnb xvmmf_gccsub
 
546
        cp $(mySRCdir)/CASES/ccases.vnb ccases.vnb
 
547
        ./xvmmf_gccsub 'gcc' '$(GOODGCC)' ccases.vnb
403
548
ccases.dsc: xuserindex $(mySRCdir)/CASES/ccases.0 $(mySRCdir)/CASES/ccases.SSE \
404
549
                 $(mySRCdir)/CASES/ccases.3DN $(mySRCdir)/CASES/ccases.flg 
405
550
        ./xuserindex -p c
406
 
res/cnreg : xmmsearch
407
 
        ./xmmsearch -p c -R -5
 
551
res/cnreg : xgmmsearch
 
552
        ./xgmmsearch -p c -r -1
408
553
cRun_tfc : ctfc
409
554
        $(ATLRUN) $(MMTdir) xctfc
410
555
        cp -f $(INCAdir)/cXover.h res/.
413
558
        $(MAKE) xctfc pre=c typ=SCPLX
414
559
 
415
560
 
416
 
cinstall : xemit_mm res/cMMRES $(BINdir)/xccobj \
 
561
cinstall : xemit_mm res/cMMRES.sum $(BINdir)/xccobj \
417
562
                res/cCleanM res/cCleanN res/cCleanK \
418
563
                res/cuCleanMF res/cuCleanNF res/cuCleanKF 
419
564
        ./xemit_mm  -p c -R -2
424
569
        cd $(GMMdir)/KERNEL ; rm -f cMakefile xccobj
425
570
        cd KERNEL ; mv -f ATL_c*.c $(GMMdir)/KERNEL/.
426
571
        mv -f KERNEL/cMakefile $(GMMdir)/KERNEL/.
427
 
        -@ cp -f $(BINdir)/xccobj $(GMMdir)/KERNEL/.
428
 
        -@ cp -f $(BINdir)/xccobj.exe $(GMMdir)/KERNEL/.
429
 
        $(MAKE) res/atlas_cacheedge.h
430
 
        $(MAKE) res/cXover.h pre=c
 
572
        if [ -s "xccobj.exe" ] ; then \
 
573
           cp -f xccobj.exe $(GMMdir)/. ; \
 
574
        elif [ -s "xccobj" ]; then \
 
575
           cp -f xccobj $(GMMdir)/. ; \
 
576
        fi
431
577
        $(MAKE) cmmlib
432
578
        touch cinstall
433
579
 
434
 
res/cMMRES :
 
580
res/cMMRES.sum :
435
581
        $(MAKE) xmmsearch
436
582
        ./xmmsearch -p c
437
583
res/cuCleanKF :
438
 
        $(MAKE) xmmsearch
439
 
        ./xmmsearch -p c -R -3
 
584
        $(MAKE) xmmcuncpsearch
 
585
        ./xmmcuncpsearch -p c -R -3
440
586
res/cuCleanNF :
441
 
        $(MAKE) xmmsearch
442
 
        ./xmmsearch -p c -R -3
 
587
        $(MAKE) xmmcuncpsearch
 
588
        ./xmmcuncpsearch -p c -R -3
443
589
res/cuCleanMF :
444
 
        $(MAKE) xmmsearch
445
 
        ./xmmsearch -p c -R -3
 
590
        $(MAKE) xmmcuncpsearch
 
591
        ./xmmcuncpsearch -p c -R -3
446
592
res/cCleanK :
447
 
        $(MAKE) xmmsearch
448
 
        ./xmmsearch -p c -R -3
 
593
        $(MAKE) xmmcuncpsearch
 
594
        ./xmmcuncpsearch -p c -R -3
449
595
res/cCleanN :
450
 
        $(MAKE) xmmsearch
451
 
        ./xmmsearch -p c -R -3
 
596
        $(MAKE) xmmcuncpsearch
 
597
        ./xmmcuncpsearch -p c -R -3
452
598
res/cCleanM :
453
 
        $(MAKE) xmmsearch
454
 
        ./xmmsearch -p c -R -3
 
599
        $(MAKE) xmmcuncpsearch
 
600
        ./xmmcuncpsearch -p c -R -3
455
601
 
456
602
cRunFindCE : xcfindCE
457
603
        $(ATLRUN) $(MMTdir) xcfindCE -f res/atlas_cacheedge.h
458
604
        cp -f res/atlas_cacheedge.h $(INCAdir)/atlas_cacheedge.h
459
 
 
460
 
 
 
605
cssegenf = CASES/cgenmm_sse.c
 
606
cgensseK : xmmgen_sse
 
607
        rm -f ssegen_b0.c ssegen_b1.c ssegen_bX.c $(cssegenf)
 
608
        ./xmmgen_sse -p c -m $(mu) -n $(nu) -k $(ku) -M $(MB) -N $(NB) \
 
609
                      -K $(KB) -lda $(lda) -ldb $(ldb) -ldc $(ldc) \
 
610
                      $(ssegenflags) -beta 0 -f ssegen_b0.c
 
611
        ./xmmgen_sse -p c -m $(mu) -n $(nu) -k $(ku) -M $(MB) -N $(NB) \
 
612
                   -K $(KB) -lda $(lda) -ldb $(ldb) -ldc $(ldc) \
 
613
                   $(ssegenflags) -beta 1 -f ssegen_b1.c
 
614
        ./xmmgen_sse -p c -m $(mu) -n $(nu) -k $(ku) -M $(MB) -N $(NB) \
 
615
                   -K $(KB) -lda $(lda) -ldb $(ldb) -ldc $(ldc) \
 
616
                   $(ssegenflags) -beta 8 -f ssegen_bX.c
 
617
        echo "#ifdef BETA0" > $(cssegenf)
 
618
        cat ssegen_b0.c >> $(cssegenf)
 
619
        echo "#elif defined(BETAX)" >> $(cssegenf)
 
620
        cat ssegen_bX.c >> $(cssegenf)
 
621
        echo "#else" >> $(cssegenf)
 
622
        cat ssegen_b1.c >> $(cssegenf)
 
623
        echo "#endif" >> $(cssegenf)
 
624
res/zMMKSSE.sum : xmmksearch_sse force_build
 
625
        ./xmmksearch_sse -p z
 
626
res/zvMMRES : res/zvgMMRES xvnbmmsearch zcases.vnb
 
627
        ./xvnbmmsearch -p z
 
628
res/zvgMMRES : res/zgMMRES
 
629
        $(MAKE) xmm_old2new
 
630
        ./xmm_old2new -i res/zgMMRES -o res/zvgMMRES
 
631
 
 
632
zcases.vnb : $(mySRCdir)/CASES/zcases.vnb xvmmf_gccsub
 
633
        cp $(mySRCdir)/CASES/zcases.vnb zcases.vnb
 
634
        ./xvmmf_gccsub 'gcc' '$(GOODGCC)' zcases.vnb
461
635
zcases.dsc: xuserindex $(mySRCdir)/CASES/zcases.0 $(mySRCdir)/CASES/zcases.SSE \
462
636
                 $(mySRCdir)/CASES/zcases.3DN $(mySRCdir)/CASES/zcases.flg 
463
637
        ./xuserindex -p z
464
 
res/znreg : xmmsearch
465
 
        ./xmmsearch -p z -R -5
 
638
res/znreg : xgmmsearch
 
639
        ./xgmmsearch -p z -r -1
466
640
zRun_tfc : ztfc
467
641
        $(ATLRUN) $(MMTdir) xztfc
468
642
        cp -f $(INCAdir)/zXover.h res/.
471
645
        $(MAKE) xztfc pre=z typ=DCPLX
472
646
 
473
647
 
474
 
zinstall : xemit_mm res/zMMRES $(BINdir)/xccobj \
 
648
zinstall : xemit_mm res/zMMRES.sum $(BINdir)/xccobj \
475
649
                res/zCleanM res/zCleanN res/zCleanK \
476
650
                res/zuCleanMF res/zuCleanNF res/zuCleanKF 
477
651
        ./xemit_mm  -p z -R -2
482
656
        cd $(GMMdir)/KERNEL ; rm -f zMakefile xccobj
483
657
        cd KERNEL ; mv -f ATL_z*.c $(GMMdir)/KERNEL/.
484
658
        mv -f KERNEL/zMakefile $(GMMdir)/KERNEL/.
485
 
        -@ cp -f $(BINdir)/xccobj $(GMMdir)/KERNEL/.
486
 
        -@ cp -f $(BINdir)/xccobj.exe $(GMMdir)/KERNEL/.
487
 
        $(MAKE) res/atlas_cacheedge.h
488
 
        $(MAKE) res/zXover.h pre=z
 
659
        if [ -s "xccobj.exe" ] ; then \
 
660
           cp -f xccobj.exe $(GMMdir)/. ; \
 
661
        elif [ -s "xccobj" ]; then \
 
662
           cp -f xccobj $(GMMdir)/. ; \
 
663
        fi
489
664
        $(MAKE) zmmlib
490
665
        touch zinstall
491
666
 
492
 
res/zMMRES :
 
667
res/zMMRES.sum :
493
668
        $(MAKE) xmmsearch
494
669
        ./xmmsearch -p z
495
670
res/zuCleanKF :
496
 
        $(MAKE) xmmsearch
497
 
        ./xmmsearch -p z -R -3
 
671
        $(MAKE) xmmcuncpsearch
 
672
        ./xmmcuncpsearch -p z -R -3
498
673
res/zuCleanNF :
499
 
        $(MAKE) xmmsearch
500
 
        ./xmmsearch -p z -R -3
 
674
        $(MAKE) xmmcuncpsearch
 
675
        ./xmmcuncpsearch -p z -R -3
501
676
res/zuCleanMF :
502
 
        $(MAKE) xmmsearch
503
 
        ./xmmsearch -p z -R -3
 
677
        $(MAKE) xmmcuncpsearch
 
678
        ./xmmcuncpsearch -p z -R -3
504
679
res/zCleanK :
505
 
        $(MAKE) xmmsearch
506
 
        ./xmmsearch -p z -R -3
 
680
        $(MAKE) xmmcuncpsearch
 
681
        ./xmmcuncpsearch -p z -R -3
507
682
res/zCleanN :
508
 
        $(MAKE) xmmsearch
509
 
        ./xmmsearch -p z -R -3
 
683
        $(MAKE) xmmcuncpsearch
 
684
        ./xmmcuncpsearch -p z -R -3
510
685
res/zCleanM :
511
 
        $(MAKE) xmmsearch
512
 
        ./xmmsearch -p z -R -3
 
686
        $(MAKE) xmmcuncpsearch
 
687
        ./xmmcuncpsearch -p z -R -3
513
688
 
514
689
zRunFindCE : xzfindCE
515
690
        $(ATLRUN) $(MMTdir) xzfindCE -f res/atlas_cacheedge.h
516
691
        cp -f res/atlas_cacheedge.h $(INCAdir)/atlas_cacheedge.h
517
 
 
 
692
zssegenf = CASES/zgenmm_sse.c
 
693
zgensseK : xmmgen_sse
 
694
        rm -f ssegen_b0.c ssegen_b1.c ssegen_bX.c $(zssegenf)
 
695
        ./xmmgen_sse -p z -m $(mu) -n $(nu) -k $(ku) -M $(MB) -N $(NB) \
 
696
                      -K $(KB) -lda $(lda) -ldb $(ldb) -ldc $(ldc) \
 
697
                      $(ssegenflags) -beta 0 -f ssegen_b0.c
 
698
        ./xmmgen_sse -p z -m $(mu) -n $(nu) -k $(ku) -M $(MB) -N $(NB) \
 
699
                   -K $(KB) -lda $(lda) -ldb $(ldb) -ldc $(ldc) \
 
700
                   $(ssegenflags) -beta 1 -f ssegen_b1.c
 
701
        ./xmmgen_sse -p z -m $(mu) -n $(nu) -k $(ku) -M $(MB) -N $(NB) \
 
702
                   -K $(KB) -lda $(lda) -ldb $(ldb) -ldc $(ldc) \
 
703
                   $(ssegenflags) -beta 8 -f ssegen_bX.c
 
704
        echo "#ifdef BETA0" > $(zssegenf)
 
705
        cat ssegen_b0.c >> $(zssegenf)
 
706
        echo "#elif defined(BETAX)" >> $(zssegenf)
 
707
        cat ssegen_bX.c >> $(zssegenf)
 
708
        echo "#else" >> $(zssegenf)
 
709
        cat ssegen_b1.c >> $(zssegenf)
 
710
        echo "#endif" >> $(zssegenf)
518
711
 
519
712
csRunFindCE : xcsfindCE
520
713
        $(ATLRUN) $(MMTdir) xcsfindCE -f res/atlas_csNKB.h
521
714
        cp -f res/atlas_csNKB.h $(INCAdir)/.
522
715
csfindCE.o : $(mySRCdir)/findCE.c
523
 
        $(ICC) $(ICCFLAGS) -c -DSCPLX -DATL_JITcp -o $@ $(mySRCdir)/findCE.c
 
716
        $(KC) $(KCFLAGS) -c -DSCPLX -DATL_JITcp -o $@ $(mySRCdir)/findCE.c
524
717
 
525
718
xcsfindCE : $(INCAdir)/atlas_type.h $(L3INCdep) cmmlib smmlib \
526
719
                csfindCE.o
531
724
        $(ATLRUN) $(MMTdir) xzdfindCE -f res/atlas_zdNKB.h
532
725
        cp -f res/atlas_zdNKB.h $(INCAdir)/.
533
726
zdfindCE.o : $(mySRCdir)/findCE.c
534
 
        $(ICC) $(ICCFLAGS) -c -DDCPLX -DATL_JITcp -o $@ $(mySRCdir)/findCE.c
 
727
        $(KC) $(KCFLAGS) -c -DDCPLX -DATL_JITcp -o $@ $(mySRCdir)/findCE.c
535
728
 
536
729
xzdfindCE : $(INCAdir)/atlas_type.h $(L3INCdep) zmmlib dmmlib \
537
730
                zdfindCE.o
539
732
        $(CLINKER) $(CLINKFLAGS) -o $@ zdfindCE.o \
540
733
                   $(GMMdir)/ATL_zdFindCE_mm.o $(ATLASlib) $(LIBS)
541
734
 
542
 
$(INCAdir)/atlas_ssysinfo.h :
543
 
        cd $(SYSdir) ; $(MAKE) atlas_ssysinfo
 
735
res/atlas_tcacheedge.h : 
 
736
        $(MAKE) xdtfindCE
 
737
        $(ATLRUN) $(MMTdir) xdtfindCE -f res/atlas_tcacheedge.h
 
738
        cp -f res/atlas_tcacheedge.h $(INCAdir)/.
544
739
smmlib:
545
740
        cd $(GMMdir) ; $(MAKE) slib
546
741
 
548
743
        $(MAKE) sready $(sATLres)
549
744
        $(MAKE) sinstall
550
745
 
 
746
res/sgMMRES.sum : xgmmsearch
 
747
        ./xgmmsearch -p s $(srchflags)
 
748
res/sguMMRES.sum : xgmmsearch
 
749
        ./xgmmsearch -p s -b $(nb) -o res/sguMMRES.sum
551
750
 
552
751
sfindCE.o : $(mySRCdir)/findCE.c
553
 
        $(ICC) $(ICCFLAGS) -c -DSREAL -o $@ $(mySRCdir)/findCE.c
554
 
 
 
752
        $(KC) $(KCFLAGS) -c -DSREAL -o $@ $(mySRCdir)/findCE.c
 
753
stfindCE.o : $(mySRCdir)/findCE.c
 
754
        $(KC) $(KCFLAGS) -c -DATL_THREADED_CE -DSREAL -o $@ \
 
755
               $(mySRCdir)/findCE.c
 
756
 
 
757
sthrCE :
 
758
        cd $(BLDdir)/src/threads ; $(MAKE) lib.grd
 
759
        cd $(BLDdir)/src/threads/blas/level3 ; $(MAKE) slib
 
760
        cd $(BLDdir)/src/threads/blas/level3 ; $(MAKE) ATL_stgemm_CE.o \
 
761
           ATL_stgemm_bigMN_Kp_CE.o
 
762
xstfindCE : $(INCAdir)/atlas_type.h $(L3INCdep) smmlib \
 
763
                 stfindCE.o sthrCE
 
764
        cd $(GMMdir) ; $(MAKE) ATL_sFindCE_mm.o pre=s typ=SREAL
 
765
        $(CLINKER) $(CLINKFLAGS) -o $@ stfindCE.o \
 
766
           $(BLDdir)/src/threads/blas/level3/ATL_stgemm_CE.o \
 
767
           $(BLDdir)/src/threads/blas/level3/ATL_stgemm_bigMN_Kp_CE.o \
 
768
           $(GMMdir)/ATL_sFindCE_mm.o $(ATLASlib) $(LIBS)
 
769
 
 
770
sRunFindCE_thr : xstfindCE
 
771
        $(ATLRUN) $(MMTdir) xstfindCE -f res/atlas_tscacheedge.h
 
772
        cp -f res/atlas_tscacheedge.h $(INCAdir)/.
555
773
 
556
774
xsfindCE : $(INCAdir)/atlas_type.h $(L3INCdep) smmlib \
557
775
                sfindCE.o
572
790
        rm -f fc.o smm.o smm.c
573
791
        ./xemit_reg x s $(muladd) $(mmrout) $(mb) $(nb) $(kb) $(if) $(nf) \
574
792
                    $(mu) $(nu) $(ku) $(lat) $(beta) > smm.c
575
 
        $(ICC) $(ICCFLAGS) -DsREAL -DMB=$(mb) -DNB=$(nb) -DKB=$(kb) \
 
793
        $(KC) $(KCFLAGS) -DsREAL -DMB=$(mb) -DNB=$(nb) -DKB=$(kb) \
576
794
              -DKU=$(ku) -DNU=$(nu) -DMU=$(mu) -DLAT=$(lat) -DMULADD=$(muladd) \
577
795
              -DNBmm=ATL_s$(mmrout) -DLDC=$(ldc) -DBETA=$(beta) $(moves) \
578
796
              -o sfc.o -c $(mySRCdir)/fc.c
581
799
                                    $(SYSdir)/time.o
582
800
        $(ATLRUN) $(MMTdir) xsfc
583
801
 
 
802
smmtime_pt.o : $(mySRCdir)/mmtime_pt.c
 
803
        $(KC) $(KCFLAGS) -c -DSREAL -o smmtime_pt.o \
 
804
               $(mySRCdir)/mmtime_pt.c
 
805
xsmmtime_pt : force_build
 
806
        rm -f $(pre)mm.c
 
807
        $(MAKE) smmtime_pt.o xemit_mm
 
808
        ./xemit_mm -p s -ta t -tb n -muladd $(muladd) -l $(lat) \
 
809
           -L $(loopO) -M $(mb) -N $(nb) -K $(kb) -m $(mu) -n $(nu) -k $(ku) \
 
810
           -lda $(lda) -ldb $(ldb) -ldc $(ldc) -csA $(csA) -csB $(csB) \
 
811
           -csC $(csC) -F0 $(if) -FN $(nf) -FF $(ff) -b $(beta) -a $(alpha) \
 
812
           -Z 1 -C $(cleanup) -R -3 | fgrep -v "define ATL_USERMM" > smm.c
 
813
        cat $(mmrout) >> smm.c
 
814
        $(SMC) $(CDEFS) $(SMCFLAGS) -DATL_BETA=$(beta) -c smm.c 
 
815
        $(CLINKER) $(CLINKFLAGS) -o xsmmtime_pt smmtime_pt.o \
 
816
           smm.o $(SYSdir)/time.o $(ATLASlib) $(LIBS)
 
817
 
 
818
        
 
819
smmcaseN0: $(SYSdir)/time.o $(INCAdir)/atlas_type.h xccobj \
 
820
       $(INCAdir)/atlas_ssysinfo.h
 
821
        rm -f sfc.o smm.o
 
822
        $(KC) $(KCFLAGS) -DsREAL -DtranA$(ta) -DtranB$(tb) \
 
823
              -DMULADD=$(muladd) -DLAT=$(lat) -D$(loopO) \
 
824
              -DMB=$(M) -DNB=$(N) -DKB=$(K) \
 
825
              -DMB0=$(mb) -DNB0=$(nb) -DKB0=$(kb) \
 
826
              -DKU=$(ku) -DNU=$(nu) -DMU=$(mu) \
 
827
              -DLDA=$(lda) -DLDB=$(ldb) -DLDC=$(ldc) \
 
828
              -DLDA2=$(lda2) -DLDB2=$(ldb2) -DLDC2=$(ldc2) \
 
829
              -DcsA=$(csA) -DcsB=$(csB) -DcsC=$(csC) \
 
830
              -DALPHA=$(alpha) -DBETA=$(beta) $(moves) \
 
831
              -DPREFA=$(pfA) -DCLEANUP=$(cleanup) -DATL_NEWTIME=1 \
 
832
              -o sfc.o -c $(mySRCdir)/fc.c
 
833
        $(SMC) $(CDEFS) $(SMCFLAGS) -DATL_BETA=$(beta) -c smm.c 
 
834
        $(CLINKER) $(CLINKFLAGS) -o xsfc sfc.o smm.o \
 
835
                                    $(SYSdir)/time.o $(mmlib)
 
836
        $(ATLRUN) $(MMTdir) xsfc $(casnam)
584
837
smmcase0: $(SYSdir)/time.o $(INCAdir)/atlas_type.h xccobj \
585
838
       $(INCAdir)/atlas_ssysinfo.h
586
839
        rm -f sfc.o smm.o
587
 
        $(ICC) $(ICCFLAGS) -DsREAL -DtranA$(ta) -DtranB$(tb) \
 
840
        $(KC) $(KCFLAGS) -DsREAL -DtranA$(ta) -DtranB$(tb) \
588
841
              -DMULADD=$(muladd) -DLAT=$(lat) -D$(loopO) \
589
842
              -DMB=$(M) -DNB=$(N) -DKB=$(K) \
590
843
              -DMB0=$(mb) -DNB0=$(nb) -DKB0=$(kb) \
593
846
              -DLDA2=$(lda2) -DLDB2=$(ldb2) -DLDC2=$(ldc2) \
594
847
              -DcsA=$(csA) -DcsB=$(csB) -DcsC=$(csC) \
595
848
              -DALPHA=$(alpha) -DBETA=$(beta) $(moves) \
596
 
              -DPREFA=$(pfA) -DCLEANUP=$(cleanup) \
 
849
              -DPREFA=$(pfA) -DCLEANUP=$(cleanup)   \
597
850
              -o sfc.o -c $(mySRCdir)/fc.c
598
851
        $(SMC) $(CDEFS) $(SMCFLAGS) -DATL_BETA=$(beta) -c smm.c 
599
852
        $(CLINKER) $(CLINKFLAGS) -o xsfc sfc.o smm.o \
600
853
                                    $(SYSdir)/time.o $(mmlib)
601
854
        $(ATLRUN) $(MMTdir) xsfc $(casnam)
602
855
 
603
 
$(INCAdir)/atlas_dsysinfo.h :
604
 
        cd $(SYSdir) ; $(MAKE) atlas_dsysinfo
605
856
dmmlib:
606
857
        cd $(GMMdir) ; $(MAKE) dlib
607
858
 
609
860
        $(MAKE) dready $(dATLres)
610
861
        $(MAKE) dinstall
611
862
 
 
863
res/dgMMRES.sum : xgmmsearch
 
864
        ./xgmmsearch -p d $(srchflags)
 
865
res/dguMMRES.sum : xgmmsearch
 
866
        ./xgmmsearch -p d -b $(nb) -o res/dguMMRES.sum
612
867
 
613
868
dfindCE.o : $(mySRCdir)/findCE.c
614
 
        $(ICC) $(ICCFLAGS) -c -DDREAL -o $@ $(mySRCdir)/findCE.c
615
 
 
 
869
        $(KC) $(KCFLAGS) -c -DDREAL -o $@ $(mySRCdir)/findCE.c
 
870
dtfindCE.o : $(mySRCdir)/findCE.c
 
871
        $(KC) $(KCFLAGS) -c -DATL_THREADED_CE -DDREAL -o $@ \
 
872
               $(mySRCdir)/findCE.c
 
873
 
 
874
dthrCE :
 
875
        cd $(BLDdir)/src/threads ; $(MAKE) lib.grd
 
876
        cd $(BLDdir)/src/threads/blas/level3 ; $(MAKE) dlib
 
877
        cd $(BLDdir)/src/threads/blas/level3 ; $(MAKE) ATL_dtgemm_CE.o \
 
878
           ATL_dtgemm_bigMN_Kp_CE.o
 
879
xdtfindCE : $(INCAdir)/atlas_type.h $(L3INCdep) dmmlib \
 
880
                 dtfindCE.o dthrCE
 
881
        cd $(GMMdir) ; $(MAKE) ATL_dFindCE_mm.o pre=d typ=DREAL
 
882
        $(CLINKER) $(CLINKFLAGS) -o $@ dtfindCE.o \
 
883
           $(BLDdir)/src/threads/blas/level3/ATL_dtgemm_CE.o \
 
884
           $(BLDdir)/src/threads/blas/level3/ATL_dtgemm_bigMN_Kp_CE.o \
 
885
           $(GMMdir)/ATL_dFindCE_mm.o $(ATLASlib) $(LIBS)
 
886
 
 
887
dRunFindCE_thr : xdtfindCE
 
888
        $(ATLRUN) $(MMTdir) xdtfindCE -f res/atlas_tdcacheedge.h
 
889
        cp -f res/atlas_tdcacheedge.h $(INCAdir)/.
616
890
 
617
891
xdfindCE : $(INCAdir)/atlas_type.h $(L3INCdep) dmmlib \
618
892
                dfindCE.o
633
907
        rm -f fc.o dmm.o dmm.c
634
908
        ./xemit_reg x d $(muladd) $(mmrout) $(mb) $(nb) $(kb) $(if) $(nf) \
635
909
                    $(mu) $(nu) $(ku) $(lat) $(beta) > dmm.c
636
 
        $(ICC) $(ICCFLAGS) -DdREAL -DMB=$(mb) -DNB=$(nb) -DKB=$(kb) \
 
910
        $(KC) $(KCFLAGS) -DdREAL -DMB=$(mb) -DNB=$(nb) -DKB=$(kb) \
637
911
              -DKU=$(ku) -DNU=$(nu) -DMU=$(mu) -DLAT=$(lat) -DMULADD=$(muladd) \
638
912
              -DNBmm=ATL_d$(mmrout) -DLDC=$(ldc) -DBETA=$(beta) $(moves) \
639
913
              -o dfc.o -c $(mySRCdir)/fc.c
642
916
                                    $(SYSdir)/time.o
643
917
        $(ATLRUN) $(MMTdir) xdfc
644
918
 
 
919
dmmtime_pt.o : $(mySRCdir)/mmtime_pt.c
 
920
        $(KC) $(KCFLAGS) -c -DDREAL -o dmmtime_pt.o \
 
921
               $(mySRCdir)/mmtime_pt.c
 
922
xdmmtime_pt : force_build
 
923
        rm -f $(pre)mm.c
 
924
        $(MAKE) dmmtime_pt.o xemit_mm
 
925
        ./xemit_mm -p d -ta t -tb n -muladd $(muladd) -l $(lat) \
 
926
           -L $(loopO) -M $(mb) -N $(nb) -K $(kb) -m $(mu) -n $(nu) -k $(ku) \
 
927
           -lda $(lda) -ldb $(ldb) -ldc $(ldc) -csA $(csA) -csB $(csB) \
 
928
           -csC $(csC) -F0 $(if) -FN $(nf) -FF $(ff) -b $(beta) -a $(alpha) \
 
929
           -Z 1 -C $(cleanup) -R -3 | fgrep -v "define ATL_USERMM" > dmm.c
 
930
        cat $(mmrout) >> dmm.c
 
931
        $(DMC) $(CDEFS) $(DMCFLAGS) -DATL_BETA=$(beta) -c dmm.c 
 
932
        $(CLINKER) $(CLINKFLAGS) -o xdmmtime_pt dmmtime_pt.o \
 
933
           dmm.o $(SYSdir)/time.o $(ATLASlib) $(LIBS)
 
934
 
 
935
        
 
936
dmmcaseN0: $(SYSdir)/time.o $(INCAdir)/atlas_type.h xccobj \
 
937
       $(INCAdir)/atlas_dsysinfo.h
 
938
        rm -f dfc.o dmm.o
 
939
        $(KC) $(KCFLAGS) -DdREAL -DtranA$(ta) -DtranB$(tb) \
 
940
              -DMULADD=$(muladd) -DLAT=$(lat) -D$(loopO) \
 
941
              -DMB=$(M) -DNB=$(N) -DKB=$(K) \
 
942
              -DMB0=$(mb) -DNB0=$(nb) -DKB0=$(kb) \
 
943
              -DKU=$(ku) -DNU=$(nu) -DMU=$(mu) \
 
944
              -DLDA=$(lda) -DLDB=$(ldb) -DLDC=$(ldc) \
 
945
              -DLDA2=$(lda2) -DLDB2=$(ldb2) -DLDC2=$(ldc2) \
 
946
              -DcsA=$(csA) -DcsB=$(csB) -DcsC=$(csC) \
 
947
              -DALPHA=$(alpha) -DBETA=$(beta) $(moves) \
 
948
              -DPREFA=$(pfA) -DCLEANUP=$(cleanup) -DATL_NEWTIME=1 \
 
949
              -o dfc.o -c $(mySRCdir)/fc.c
 
950
        $(DMC) $(CDEFS) $(DMCFLAGS) -DATL_BETA=$(beta) -c dmm.c 
 
951
        $(CLINKER) $(CLINKFLAGS) -o xdfc dfc.o dmm.o \
 
952
                                    $(SYSdir)/time.o $(mmlib)
 
953
        $(ATLRUN) $(MMTdir) xdfc $(casnam)
645
954
dmmcase0: $(SYSdir)/time.o $(INCAdir)/atlas_type.h xccobj \
646
955
       $(INCAdir)/atlas_dsysinfo.h
647
956
        rm -f dfc.o dmm.o
648
 
        $(ICC) $(ICCFLAGS) -DdREAL -DtranA$(ta) -DtranB$(tb) \
 
957
        $(KC) $(KCFLAGS) -DdREAL -DtranA$(ta) -DtranB$(tb) \
649
958
              -DMULADD=$(muladd) -DLAT=$(lat) -D$(loopO) \
650
959
              -DMB=$(M) -DNB=$(N) -DKB=$(K) \
651
960
              -DMB0=$(mb) -DNB0=$(nb) -DKB0=$(kb) \
654
963
              -DLDA2=$(lda2) -DLDB2=$(ldb2) -DLDC2=$(ldc2) \
655
964
              -DcsA=$(csA) -DcsB=$(csB) -DcsC=$(csC) \
656
965
              -DALPHA=$(alpha) -DBETA=$(beta) $(moves) \
657
 
              -DPREFA=$(pfA) -DCLEANUP=$(cleanup) \
 
966
              -DPREFA=$(pfA) -DCLEANUP=$(cleanup)   \
658
967
              -o dfc.o -c $(mySRCdir)/fc.c
659
968
        $(DMC) $(CDEFS) $(DMCFLAGS) -DATL_BETA=$(beta) -c dmm.c 
660
969
        $(CLINKER) $(CLINKFLAGS) -o xdfc dfc.o dmm.o \
661
970
                                    $(SYSdir)/time.o $(mmlib)
662
971
        $(ATLRUN) $(MMTdir) xdfc $(casnam)
663
972
 
664
 
$(INCAdir)/atlas_csysinfo.h :
665
 
        cd $(SYSdir) ; $(MAKE) atlas_csysinfo
666
973
cmmlib:
667
974
        cd $(GMMdir) ; $(MAKE) clib
668
975
 
670
977
        $(MAKE) cready $(cATLres)
671
978
        $(MAKE) cinstall
672
979
 
 
980
res/cgMMRES.sum : xgmmsearch
 
981
        ./xgmmsearch -p c $(srchflags)
 
982
res/cguMMRES.sum : xgmmsearch
 
983
        ./xgmmsearch -p c -b $(nb) -o res/cguMMRES.sum
673
984
 
674
985
cfindCE.o : $(mySRCdir)/findCE.c
675
 
        $(ICC) $(ICCFLAGS) -c -DSCPLX -o $@ $(mySRCdir)/findCE.c
676
 
 
 
986
        $(KC) $(KCFLAGS) -c -DSCPLX -o $@ $(mySRCdir)/findCE.c
 
987
ctfindCE.o : $(mySRCdir)/findCE.c
 
988
        $(KC) $(KCFLAGS) -c -DATL_THREADED_CE -DSCPLX -o $@ \
 
989
               $(mySRCdir)/findCE.c
 
990
 
 
991
cthrCE :
 
992
        cd $(BLDdir)/src/threads ; $(MAKE) lib.grd
 
993
        cd $(BLDdir)/src/threads/blas/level3 ; $(MAKE) clib
 
994
        cd $(BLDdir)/src/threads/blas/level3 ; $(MAKE) ATL_ctgemm_CE.o \
 
995
           ATL_ctgemm_bigMN_Kp_CE.o
 
996
xctfindCE : $(INCAdir)/atlas_type.h $(L3INCdep) cmmlib \
 
997
                 ctfindCE.o cthrCE
 
998
        cd $(GMMdir) ; $(MAKE) ATL_cFindCE_mm.o pre=c typ=SCPLX
 
999
        $(CLINKER) $(CLINKFLAGS) -o $@ ctfindCE.o \
 
1000
           $(BLDdir)/src/threads/blas/level3/ATL_ctgemm_CE.o \
 
1001
           $(BLDdir)/src/threads/blas/level3/ATL_ctgemm_bigMN_Kp_CE.o \
 
1002
           $(GMMdir)/ATL_cFindCE_mm.o $(ATLASlib) $(LIBS)
 
1003
 
 
1004
cRunFindCE_thr : xctfindCE
 
1005
        $(ATLRUN) $(MMTdir) xctfindCE -f res/atlas_tccacheedge.h
 
1006
        cp -f res/atlas_tccacheedge.h $(INCAdir)/.
677
1007
 
678
1008
xcfindCE : $(INCAdir)/atlas_type.h $(L3INCdep) cmmlib \
679
1009
                cfindCE.o
695
1025
        rm -f fc.o cmm.o cmm.c
696
1026
        ./xemit_reg x c $(muladd) $(mmrout) $(mb) $(nb) $(kb) $(if) $(nf) \
697
1027
                    $(mu) $(nu) $(ku) $(lat) $(beta) > cmm.c
698
 
        $(ICC) $(ICCFLAGS) -DcREAL -DMB=$(mb) -DNB=$(nb) -DKB=$(kb) \
 
1028
        $(KC) $(KCFLAGS) -DcREAL -DMB=$(mb) -DNB=$(nb) -DKB=$(kb) \
699
1029
              -DKU=$(ku) -DNU=$(nu) -DMU=$(mu) -DLAT=$(lat) -DMULADD=$(muladd) \
700
1030
              -DNBmm=ATL_c$(mmrout) -DLDC=$(ldc) -DBETA=$(beta) $(moves) \
701
1031
              -o cfc.o -c $(mySRCdir)/fc.c
704
1034
                                    $(SYSdir)/time.o
705
1035
        $(ATLRUN) $(MMTdir) xcfc
706
1036
 
 
1037
cmmtime_pt.o : $(mySRCdir)/mmtime_pt.c
 
1038
        $(KC) $(KCFLAGS) -c -DSCPLX -o cmmtime_pt.o \
 
1039
               $(mySRCdir)/mmtime_pt.c
 
1040
xcmmtime_pt : force_build
 
1041
        rm -f $(pre)mm.c
 
1042
        $(MAKE) cmmtime_pt.o xemit_mm
 
1043
        ./xemit_mm -p c -ta t -tb n -muladd $(muladd) -l $(lat) \
 
1044
           -L $(loopO) -M $(mb) -N $(nb) -K $(kb) -m $(mu) -n $(nu) -k $(ku) \
 
1045
           -lda $(lda) -ldb $(ldb) -ldc $(ldc) -csA $(csA) -csB $(csB) \
 
1046
           -csC $(csC) -F0 $(if) -FN $(nf) -FF $(ff) -b $(beta) -a $(alpha) \
 
1047
           -Z 1 -C $(cleanup) -R -3 | fgrep -v "define ATL_USERMM" > cmm.c
 
1048
        cat $(mmrout) >> cmm.c
 
1049
        $(SMC) $(CDEFS) $(SMCFLAGS) -DATL_BETA=$(beta) -c cmm.c 
 
1050
        $(CLINKER) $(CLINKFLAGS) -o xcmmtime_pt cmmtime_pt.o \
 
1051
           cmm.o $(SYSdir)/time.o $(ATLASlib) $(LIBS)
 
1052
 
 
1053
        
 
1054
cmmcaseN0: $(SYSdir)/time.o $(INCAdir)/atlas_type.h xccobj \
 
1055
       $(INCAdir)/atlas_csysinfo.h
 
1056
        rm -f cfc.o cmm.o
 
1057
        $(KC) $(KCFLAGS) -DcREAL -DtranA$(ta) -DtranB$(tb) \
 
1058
              -DMULADD=$(muladd) -DLAT=$(lat) -D$(loopO) \
 
1059
              -DMB=$(M) -DNB=$(N) -DKB=$(K) \
 
1060
              -DMB0=$(mb) -DNB0=$(nb) -DKB0=$(kb) \
 
1061
              -DKU=$(ku) -DNU=$(nu) -DMU=$(mu) \
 
1062
              -DLDA=$(lda) -DLDB=$(ldb) -DLDC=$(ldc) \
 
1063
              -DLDA2=$(lda2) -DLDB2=$(ldb2) -DLDC2=$(ldc2) \
 
1064
              -DcsA=$(csA) -DcsB=$(csB) -DcsC=$(csC) \
 
1065
              -DALPHA=$(alpha) -DBETA=$(beta) $(moves) \
 
1066
              -DPREFA=$(pfA) -DCLEANUP=$(cleanup) -DATL_NEWTIME=1 \
 
1067
              -o cfc.o -c $(mySRCdir)/fc.c
 
1068
        $(SMC) $(CDEFS) $(SMCFLAGS) -DATL_BETA=$(beta) -c cmm.c 
 
1069
        $(CLINKER) $(CLINKFLAGS) -o xcfc cfc.o cmm.o \
 
1070
                                    $(SYSdir)/time.o $(mmlib)
 
1071
        $(ATLRUN) $(MMTdir) xcfc $(casnam)
707
1072
cmmcase0: $(SYSdir)/time.o $(INCAdir)/atlas_type.h xccobj \
708
1073
       $(INCAdir)/atlas_csysinfo.h
709
1074
        rm -f cfc.o cmm.o
710
 
        $(ICC) $(ICCFLAGS) -DcREAL -DtranA$(ta) -DtranB$(tb) \
 
1075
        $(KC) $(KCFLAGS) -DcREAL -DtranA$(ta) -DtranB$(tb) \
711
1076
              -DMULADD=$(muladd) -DLAT=$(lat) -D$(loopO) \
712
1077
              -DMB=$(M) -DNB=$(N) -DKB=$(K) \
713
1078
              -DMB0=$(mb) -DNB0=$(nb) -DKB0=$(kb) \
716
1081
              -DLDA2=$(lda2) -DLDB2=$(ldb2) -DLDC2=$(ldc2) \
717
1082
              -DcsA=$(csA) -DcsB=$(csB) -DcsC=$(csC) \
718
1083
              -DALPHA=$(alpha) -DBETA=$(beta) $(moves) \
719
 
              -DPREFA=$(pfA) -DCLEANUP=$(cleanup) \
 
1084
              -DPREFA=$(pfA) -DCLEANUP=$(cleanup)   \
720
1085
              -o cfc.o -c $(mySRCdir)/fc.c
721
1086
        $(SMC) $(CDEFS) $(SMCFLAGS) -DATL_BETA=$(beta) -c cmm.c 
722
1087
        $(CLINKER) $(CLINKFLAGS) -o xcfc cfc.o cmm.o \
723
1088
                                    $(SYSdir)/time.o $(mmlib)
724
1089
        $(ATLRUN) $(MMTdir) xcfc $(casnam)
725
1090
 
726
 
$(INCAdir)/atlas_zsysinfo.h :
727
 
        cd $(SYSdir) ; $(MAKE) atlas_zsysinfo
728
1091
zmmlib:
729
1092
        cd $(GMMdir) ; $(MAKE) zlib
730
1093
 
732
1095
        $(MAKE) zready $(zATLres)
733
1096
        $(MAKE) zinstall
734
1097
 
 
1098
res/zgMMRES.sum : xgmmsearch
 
1099
        ./xgmmsearch -p z $(srchflags)
 
1100
res/zguMMRES.sum : xgmmsearch
 
1101
        ./xgmmsearch -p z -b $(nb) -o res/zguMMRES.sum
735
1102
 
736
1103
zfindCE.o : $(mySRCdir)/findCE.c
737
 
        $(ICC) $(ICCFLAGS) -c -DDCPLX -o $@ $(mySRCdir)/findCE.c
738
 
 
 
1104
        $(KC) $(KCFLAGS) -c -DDCPLX -o $@ $(mySRCdir)/findCE.c
 
1105
ztfindCE.o : $(mySRCdir)/findCE.c
 
1106
        $(KC) $(KCFLAGS) -c -DATL_THREADED_CE -DDCPLX -o $@ \
 
1107
               $(mySRCdir)/findCE.c
 
1108
 
 
1109
zthrCE :
 
1110
        cd $(BLDdir)/src/threads ; $(MAKE) lib.grd
 
1111
        cd $(BLDdir)/src/threads/blas/level3 ; $(MAKE) zlib
 
1112
        cd $(BLDdir)/src/threads/blas/level3 ; $(MAKE) ATL_ztgemm_CE.o \
 
1113
           ATL_ztgemm_bigMN_Kp_CE.o
 
1114
xztfindCE : $(INCAdir)/atlas_type.h $(L3INCdep) zmmlib \
 
1115
                 ztfindCE.o zthrCE
 
1116
        cd $(GMMdir) ; $(MAKE) ATL_zFindCE_mm.o pre=z typ=DCPLX
 
1117
        $(CLINKER) $(CLINKFLAGS) -o $@ ztfindCE.o \
 
1118
           $(BLDdir)/src/threads/blas/level3/ATL_ztgemm_CE.o \
 
1119
           $(BLDdir)/src/threads/blas/level3/ATL_ztgemm_bigMN_Kp_CE.o \
 
1120
           $(GMMdir)/ATL_zFindCE_mm.o $(ATLASlib) $(LIBS)
 
1121
 
 
1122
zRunFindCE_thr : xztfindCE
 
1123
        $(ATLRUN) $(MMTdir) xztfindCE -f res/atlas_tzcacheedge.h
 
1124
        cp -f res/atlas_tzcacheedge.h $(INCAdir)/.
739
1125
 
740
1126
xzfindCE : $(INCAdir)/atlas_type.h $(L3INCdep) zmmlib \
741
1127
                zfindCE.o
757
1143
        rm -f fc.o zmm.o zmm.c
758
1144
        ./xemit_reg x z $(muladd) $(mmrout) $(mb) $(nb) $(kb) $(if) $(nf) \
759
1145
                    $(mu) $(nu) $(ku) $(lat) $(beta) > zmm.c
760
 
        $(ICC) $(ICCFLAGS) -DzREAL -DMB=$(mb) -DNB=$(nb) -DKB=$(kb) \
 
1146
        $(KC) $(KCFLAGS) -DzREAL -DMB=$(mb) -DNB=$(nb) -DKB=$(kb) \
761
1147
              -DKU=$(ku) -DNU=$(nu) -DMU=$(mu) -DLAT=$(lat) -DMULADD=$(muladd) \
762
1148
              -DNBmm=ATL_z$(mmrout) -DLDC=$(ldc) -DBETA=$(beta) $(moves) \
763
1149
              -o zfc.o -c $(mySRCdir)/fc.c
766
1152
                                    $(SYSdir)/time.o
767
1153
        $(ATLRUN) $(MMTdir) xzfc
768
1154
 
 
1155
zmmtime_pt.o : $(mySRCdir)/mmtime_pt.c
 
1156
        $(KC) $(KCFLAGS) -c -DDCPLX -o zmmtime_pt.o \
 
1157
               $(mySRCdir)/mmtime_pt.c
 
1158
xzmmtime_pt : force_build
 
1159
        rm -f $(pre)mm.c
 
1160
        $(MAKE) zmmtime_pt.o xemit_mm
 
1161
        ./xemit_mm -p z -ta t -tb n -muladd $(muladd) -l $(lat) \
 
1162
           -L $(loopO) -M $(mb) -N $(nb) -K $(kb) -m $(mu) -n $(nu) -k $(ku) \
 
1163
           -lda $(lda) -ldb $(ldb) -ldc $(ldc) -csA $(csA) -csB $(csB) \
 
1164
           -csC $(csC) -F0 $(if) -FN $(nf) -FF $(ff) -b $(beta) -a $(alpha) \
 
1165
           -Z 1 -C $(cleanup) -R -3 | fgrep -v "define ATL_USERMM" > zmm.c
 
1166
        cat $(mmrout) >> zmm.c
 
1167
        $(DMC) $(CDEFS) $(DMCFLAGS) -DATL_BETA=$(beta) -c zmm.c 
 
1168
        $(CLINKER) $(CLINKFLAGS) -o xzmmtime_pt zmmtime_pt.o \
 
1169
           zmm.o $(SYSdir)/time.o $(ATLASlib) $(LIBS)
 
1170
 
 
1171
        
 
1172
zmmcaseN0: $(SYSdir)/time.o $(INCAdir)/atlas_type.h xccobj \
 
1173
       $(INCAdir)/atlas_zsysinfo.h
 
1174
        rm -f zfc.o zmm.o
 
1175
        $(KC) $(KCFLAGS) -DzREAL -DtranA$(ta) -DtranB$(tb) \
 
1176
              -DMULADD=$(muladd) -DLAT=$(lat) -D$(loopO) \
 
1177
              -DMB=$(M) -DNB=$(N) -DKB=$(K) \
 
1178
              -DMB0=$(mb) -DNB0=$(nb) -DKB0=$(kb) \
 
1179
              -DKU=$(ku) -DNU=$(nu) -DMU=$(mu) \
 
1180
              -DLDA=$(lda) -DLDB=$(ldb) -DLDC=$(ldc) \
 
1181
              -DLDA2=$(lda2) -DLDB2=$(ldb2) -DLDC2=$(ldc2) \
 
1182
              -DcsA=$(csA) -DcsB=$(csB) -DcsC=$(csC) \
 
1183
              -DALPHA=$(alpha) -DBETA=$(beta) $(moves) \
 
1184
              -DPREFA=$(pfA) -DCLEANUP=$(cleanup) -DATL_NEWTIME=1 \
 
1185
              -o zfc.o -c $(mySRCdir)/fc.c
 
1186
        $(DMC) $(CDEFS) $(DMCFLAGS) -DATL_BETA=$(beta) -c zmm.c 
 
1187
        $(CLINKER) $(CLINKFLAGS) -o xzfc zfc.o zmm.o \
 
1188
                                    $(SYSdir)/time.o $(mmlib)
 
1189
        $(ATLRUN) $(MMTdir) xzfc $(casnam)
769
1190
zmmcase0: $(SYSdir)/time.o $(INCAdir)/atlas_type.h xccobj \
770
1191
       $(INCAdir)/atlas_zsysinfo.h
771
1192
        rm -f zfc.o zmm.o
772
 
        $(ICC) $(ICCFLAGS) -DzREAL -DtranA$(ta) -DtranB$(tb) \
 
1193
        $(KC) $(KCFLAGS) -DzREAL -DtranA$(ta) -DtranB$(tb) \
773
1194
              -DMULADD=$(muladd) -DLAT=$(lat) -D$(loopO) \
774
1195
              -DMB=$(M) -DNB=$(N) -DKB=$(K) \
775
1196
              -DMB0=$(mb) -DNB0=$(nb) -DKB0=$(kb) \
778
1199
              -DLDA2=$(lda2) -DLDB2=$(ldb2) -DLDC2=$(ldc2) \
779
1200
              -DcsA=$(csA) -DcsB=$(csB) -DcsC=$(csC) \
780
1201
              -DALPHA=$(alpha) -DBETA=$(beta) $(moves) \
781
 
              -DPREFA=$(pfA) -DCLEANUP=$(cleanup) \
 
1202
              -DPREFA=$(pfA) -DCLEANUP=$(cleanup)   \
782
1203
              -o zfc.o -c $(mySRCdir)/fc.c
783
1204
        $(DMC) $(CDEFS) $(DMCFLAGS) -DATL_BETA=$(beta) -c zmm.c 
784
1205
        $(CLINKER) $(CLINKFLAGS) -o xzfc zfc.o zmm.o \
794
1215
        -lda $(lda) -ldb $(ldb) -ldc $(ldc) -csA $(csA) -csB $(csB) -csC $(csC)\
795
1216
        -F0 $(if) -FN $(nf) -b $(beta) -a $(alpha) -Z 1 -C $(cleanup) -R -3
796
1217
 
797
 
 
 
1218
mmucaseN : xemit_mm auxlib xccobj
 
1219
        rm -f $(pre)mm.c
 
1220
        ./xemit_mm -p $(pre) -ta $(ta) -tb $(tb) -muladd $(muladd) -l $(lat) \
 
1221
        -L $(loopO) -M $(mb) -N $(nb) -K $(kb) -m $(mu) -n $(nu) -k $(ku) \
 
1222
        -lda $(lda) -ldb $(ldb) -ldc $(ldc) -csA $(csA) -csB $(csB) -csC $(csC)\
 
1223
        -F0 $(if) -FN $(nf) -FF $(ff) -b $(beta) -a $(alpha) -Z 1 -C $(cleanup)\
 
1224
        -R -3            > $(pre)mm.c
 
1225
        cat $(mmrout) >> $(pre)mm.c
 
1226
        $(MAKE) $(pre)mmcaseN0 $(casarg) casnam=$(casnam) mmlib="$(ATLASlib) \
 
1227
                $(LIBS)"
798
1228
mmucase : xemit_mm auxlib xccobj
799
1229
        rm -f $(pre)mm.c
800
1230
        ./xemit_mm -p $(pre) -ta $(ta) -tb $(tb) -muladd $(muladd) -l $(lat) \
870
1300
        $(MAKE) mmtstcase0 $(casarg) mmobjs=dmm.o
871
1301
BuildCobjs : $(pre)BuildCobjs
872
1302
 
 
1303
sammmtst : $(INCAdir)/atlas_type.h $(BINdir)/xextract
 
1304
        $(extC) -def mu "${mu}" -def nu "${nu}" -def be "${beta}" \
 
1305
                 -def M "${M}" -def N "${N}" -def K "${K}" \
 
1306
                -o ammmtst.c rout=ammmtst
 
1307
        $(SMC) $(CDEFS) $(SMCFLAGS) -DSREAL=1 -DBETA${beta} \
 
1308
           -o sammm.o -c $(mmrout)
 
1309
        $(KC) $(KCFLAGS) -DSREAL=1 -o xsammmtst ammmtst.c sammm.o
 
1310
        $(ATLRUN) $(MMTdir) xsammmtst 
 
1311
dammmtst : $(INCAdir)/atlas_type.h $(BINdir)/xextract
 
1312
        $(extC) -def mu "${mu}" -def nu "${nu}" -def be "${beta}" \
 
1313
                 -def M "${M}" -def N "${N}" -def K "${K}" \
 
1314
                -o ammmtst.c rout=ammmtst
 
1315
        $(DMC) $(CDEFS) $(DMCFLAGS) -DDREAL=1 -DBETA${beta} \
 
1316
           -o dammm.o -c $(mmrout)
 
1317
        $(KC) $(KCFLAGS) -DDREAL=1 -o xdammmtst ammmtst.c dammm.o
 
1318
        $(ATLRUN) $(MMTdir) xdammmtst 
 
1319
cammmtst : $(INCAdir)/atlas_type.h $(BINdir)/xextract
 
1320
        $(extC) -def mu "${mu}" -def nu "${nu}" -def be "${beta}" \
 
1321
                 -def M "${M}" -def N "${N}" -def K "${K}" \
 
1322
                -o ammmtst.c rout=ammmtst
 
1323
        $(SMC) $(CDEFS) $(SMCFLAGS) -DSCPLX=1 -DBETA${beta} \
 
1324
           -o cammm.o -c $(mmrout)
 
1325
        $(KC) $(KCFLAGS) -DSCPLX=1 -o xcammmtst ammmtst.c cammm.o
 
1326
        $(ATLRUN) $(MMTdir) xcammmtst 
 
1327
zammmtst : $(INCAdir)/atlas_type.h $(BINdir)/xextract
 
1328
        $(extC) -def mu "${mu}" -def nu "${nu}" -def be "${beta}" \
 
1329
                 -def M "${M}" -def N "${N}" -def K "${K}" \
 
1330
                -o ammmtst.c rout=ammmtst
 
1331
        $(DMC) $(CDEFS) $(DMCFLAGS) -DDCPLX=1 -DBETA${beta} \
 
1332
           -o zammm.o -c $(mmrout)
 
1333
        $(KC) $(KCFLAGS) -DDCPLX=1 -o xzammmtst ammmtst.c zammm.o
 
1334
        $(ATLRUN) $(MMTdir) xzammmtst 
873
1335
cmmucase : xemit_mm $(SYSdir)/time.o $(INCAdir)/atlas_type.h \
874
1336
           $(INCAdir)/atlas_$(pre)sysinfo.h auxlib xccobj
875
1337
        rm -f $(pre)fc.o 
876
1338
        $(MAKE) $(pre)BuildCobjs pre=$(pre) mb=$(mb) nb=$(nb) kb=$(kb) \
877
1339
                lda=$(lda) ldb=$(ldb) ldc=$(ldc) $(casarg)
878
 
        $(ICC) $(ICCFLAGS) -D$(pre)REAL -DtranA$(ta) -DtranB$(tb) \
 
1340
        $(KC) $(KCFLAGS) -D$(pre)REAL -DtranA$(ta) -DtranB$(tb) \
879
1341
              -DMULADD=$(muladd) -DLAT=$(lat) -D$(loopO) \
880
1342
              -DMB=$(M) -DNB=$(N) -DKB=$(K) \
881
1343
              -DMB0=$(mb) -DNB0=$(nb) -DKB0=$(kb) \
905
1367
                mmobjs="$(pre)mm_b0.o $(pre)mm_b1.o $(pre)mm_bX.o" \
906
1368
                mmlib="$(ATLASlib) $(LIBS)"
907
1369
 
 
1370
#
 
1371
# This target allows the code generator to fake being a user-contributed kernel
 
1372
# by packing all BETA cases in one file
 
1373
#
 
1374
mmgencase : xemit_mm xccobj
 
1375
        rm -f $(pre)gmm.c
 
1376
        echo "#ifdef BETA0" >> $(pre)gmm.c
 
1377
        ./xemit_mm -p $(pre) -ta $(ta) -tb $(tb) -muladd $(muladd) -l $(lat) \
 
1378
        -L $(loopO) -M $(mb) -N $(nb) -K $(kb) -m $(mu) -n $(nu) -k $(ku) \
 
1379
        -lda $(lda) -ldb $(ldb) -ldc $(ldc) -csA $(csA) -csB $(csB) -csC $(csC)\
 
1380
        -F0 $(if) -FN $(nf) -FF $(ff) -b 0 -a $(alpha) -Z 0 \
 
1381
        -C $(cleanup) -pfA $(pfA) >> $(pre)gmm.c
 
1382
        echo "#elif defined(BETAX)" >> $(pre)gmm.c
 
1383
        ./xemit_mm -p $(pre) -ta $(ta) -tb $(tb) -muladd $(muladd) -l $(lat) \
 
1384
        -L $(loopO) -M $(mb) -N $(nb) -K $(kb) -m $(mu) -n $(nu) -k $(ku) \
 
1385
        -lda $(lda) -ldb $(ldb) -ldc $(ldc) -csA $(csA) -csB $(csB) -csC $(csC)\
 
1386
        -F0 $(if) -FN $(nf) -FF $(ff) -b 8 -a $(alpha) -Z 0 \
 
1387
        -C $(cleanup) -pfA $(pfA) >> $(pre)gmm.c
 
1388
        echo "#else" >> $(pre)gmm.c
 
1389
        ./xemit_mm -p $(pre) -ta $(ta) -tb $(tb) -muladd $(muladd) -l $(lat) \
 
1390
        -L $(loopO) -M $(mb) -N $(nb) -K $(kb) -m $(mu) -n $(nu) -k $(ku) \
 
1391
        -lda $(lda) -ldb $(ldb) -ldc $(ldc) -csA $(csA) -csB $(csB) -csC $(csC)\
 
1392
        -F0 $(if) -FN $(nf) -FF $(ff) -b 1 -a $(alpha) -Z 0 \
 
1393
        -C $(cleanup) -pfA $(pfA) >> $(pre)gmm.c
 
1394
        echo "#endif" >> $(pre)gmm.c
908
1395
mmcase : xemit_mm xccobj
909
1396
        rm -f $(pre)mm.c
910
1397
        ./xemit_mm -p $(pre) -ta $(ta) -tb $(tb) -muladd $(muladd) -l $(lat) \
918
1405
 
919
1406
mmtstcase0: $(SYSdir)/time.o $(INCAdir)/atlas_type.h auxlib xccobj
920
1407
        rm -f $(pre)mmtst.o
921
 
        $(ICC) $(ICCFLAGS) -D$(pre)REAL -DtranA$(ta) -DtranB$(tb) \
 
1408
        $(KC) $(KCFLAGS) -D$(pre)REAL -DtranA$(ta) -DtranB$(tb) \
922
1409
              -DMULADD=$(muladd) -DLAT=$(lat) -D$(loopO) \
923
1410
              -DMB0=$(mb) -DNB0=$(nb) -DKB0=$(kb) \
924
1411
              -DMB=$(M) -DNB=$(N) -DKB=$(K) \
1034
1521
        $(MAKE) $(pre)install
1035
1522
 
1036
1523
GetSysSum.o : $(mySRCdir)/GetSysSum.c
1037
 
        $(ICC) -c $(ICCFLAGS) $(mySRCdir)/GetSysSum.c
 
1524
        $(KC) -c $(KCFLAGS) $(mySRCdir)/GetSysSum.c
 
1525
 
 
1526
emit_vKB.o : $(mySRCdir)/emit_vKB.c $(INCSdir)/atlas_vnbcase.h
 
1527
        $(XCC) -c $(XCCFLAGS) $(mySRCdir)/emit_vKB.c
1038
1528
 
1039
1529
emit_mm.o : $(mySRCdir)/emit_mm.c
1040
1530
        $(XCC) -c $(XCCFLAGS) $(mySRCdir)/emit_mm.c
1054
1544
 
1055
1545
gemmtst.o : $(mySRCdir)/gemmtst.c $(INCSdir)/atlas_misc.h \
1056
1546
            $(INCSdir)/atlas_lvl3.h $(INCSdir)/atlas_tst.h $(INCSdir)/cblas.h
1057
 
        $(ICC) -c $(ICCFLAGS) $(mySRCdir)/gemmtst.c
 
1547
        $(KC) -c $(KCFLAGS) $(mySRCdir)/gemmtst.c
1058
1548
 
1059
1549
clean :
1060
1550
        rm -f *.o *.grd
1061
1551
 
1062
1552
$(pre)tfc.o : $(mySRCdir)/tfc.c $(INCSdir)/atlas_misc.h $(INCAdir)/$(pre)mm.h \
1063
1553
              $(INCAdir)/atlas_$(pre)sysinfo.h
1064
 
        $(ICC) -o $@ -c $(ICCFLAGS) -D$(typ) $(mySRCdir)/tfc.c \
 
1554
        $(KC) -o $@ -c $(KCFLAGS) -D$(typ) $(mySRCdir)/tfc.c \
1065
1555
                 -DSM_FOUT=$(INCAdir)/$(pre)Xover.h
1066
1556