@@ -33,6 +33,10 @@ LIBMKL = -L$(MKL) -lmkl_intel_lp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread
33
33
# Apple vecLib
34
34
LIBVECLIB = -framework Accelerate
35
35
36
+ ESSL =/opt/ibm/lib
37
+ # LIBESSL = -lesslsmp $(ESSL)/libxlomp_ser.so.1 $(ESSL)/libxlf90_r.so.1 $(ESSL)/libxlfmath.so.1 $(ESSL)/libxlsmp.so.1 /opt/ibm/xlC/13.1.3/lib/libxl.a
38
+ LIBESSL = -lesslsmp $(ESSL ) /libxlf90_r.so.1 $(ESSL ) /libxlfmath.so.1 $(ESSL ) /libxlsmp.so.1 /opt/ibm/xlC/13.1.3/lib/libxl.a
39
+
36
40
ifeq ($(OSNAME ) , WINNT)
37
41
38
42
goto :: slinpack.goto dlinpack.goto clinpack.goto zlinpack.goto \
@@ -44,6 +48,7 @@ goto :: slinpack.goto dlinpack.goto clinpack.goto zlinpack.goto \
44
48
ssyr2k.goto dsyr2k.goto csyr2k.goto zsyr2k.goto \
45
49
sger.goto dger.goto cger.goto zger.goto \
46
50
sdot.goto ddot.goto \
51
+ srot.goto drot.goto \
47
52
saxpy.goto daxpy.goto caxpy.goto zaxpy.goto \
48
53
scopy.goto dcopy.goto ccopy.goto zcopy.goto \
49
54
sswap.goto dswap.goto cswap.goto zswap.goto \
@@ -151,6 +156,7 @@ goto :: slinpack.goto dlinpack.goto clinpack.goto zlinpack.goto \
151
156
ssyr2k.goto dsyr2k.goto csyr2k.goto zsyr2k.goto \
152
157
sger.goto dger.goto cger.goto zger.goto \
153
158
sdot.goto ddot.goto cdot.goto zdot.goto \
159
+ srot.goto drot.goto \
154
160
saxpy.goto daxpy.goto caxpy.goto zaxpy.goto \
155
161
scopy.goto dcopy.goto ccopy.goto zcopy.goto \
156
162
sswap.goto dswap.goto cswap.goto zswap.goto \
@@ -253,7 +259,9 @@ mkl :: slinpack.mkl dlinpack.mkl clinpack.mkl zlinpack.mkl \
253
259
254
260
endif
255
261
256
-
262
+ essl :: sgemm.essl strmm.essl dgemm.essl dtrmm.essl \
263
+ cgemm.essl ctrmm.essl zgemm.essl ztrmm.essl \
264
+ slinpack.essl clinpack.essl dlinpack.essl zlinpack.essl
257
265
258
266
veclib :: slinpack.veclib dlinpack.veclib clinpack.veclib zlinpack.veclib \
259
267
scholesky.veclib dcholesky.veclib ccholesky.veclib zcholesky.veclib \
@@ -306,6 +314,9 @@ slinpack.mkl : slinpack.$(SUFFIX)
306
314
slinpack.veclib : slinpack.$(SUFFIX )
307
315
-$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
308
316
317
+ slinpack.essl : slinpack.$(SUFFIX )
318
+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
319
+
309
320
# #################################### Dlinpack ####################################################
310
321
dlinpack.goto : dlinpack.$(SUFFIX ) ../$(LIBNAME )
311
322
$(CC ) $(CFLAGS ) -o $(@F ) $^ $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB ) -lm
@@ -322,6 +333,9 @@ dlinpack.mkl : dlinpack.$(SUFFIX)
322
333
dlinpack.veclib : dlinpack.$(SUFFIX )
323
334
-$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
324
335
336
+ dlinpack.essl : dlinpack.$(SUFFIX )
337
+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
338
+
325
339
# #################################### Clinpack ####################################################
326
340
327
341
clinpack.goto : clinpack.$(SUFFIX ) ../$(LIBNAME )
@@ -339,6 +353,9 @@ clinpack.mkl : clinpack.$(SUFFIX)
339
353
clinpack.veclib : clinpack.$(SUFFIX )
340
354
-$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
341
355
356
+ clinpack.essl : clinpack.$(SUFFIX )
357
+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
358
+
342
359
# #################################### Zlinpack ####################################################
343
360
344
361
zlinpack.goto : zlinpack.$(SUFFIX ) ../$(LIBNAME )
@@ -356,6 +373,9 @@ zlinpack.mkl : zlinpack.$(SUFFIX)
356
373
zlinpack.veclib : zlinpack.$(SUFFIX )
357
374
-$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
358
375
376
+ zlinpack.essl : zlinpack.$(SUFFIX )
377
+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
378
+
359
379
# #################################### Scholesky ###################################################
360
380
361
381
scholesky.goto : scholesky.$(SUFFIX ) ../$(LIBNAME )
@@ -441,6 +461,9 @@ sgemm.mkl : sgemm.$(SUFFIX)
441
461
sgemm.veclib : sgemm.$(SUFFIX )
442
462
-$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
443
463
464
+ sgemm.essl : sgemm.$(SUFFIX )
465
+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
466
+
444
467
# #################################### Dgemm ####################################################
445
468
dgemm.goto : dgemm.$(SUFFIX ) ../$(LIBNAME )
446
469
$(CC ) $(CFLAGS ) -o $(@F ) $^ $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB ) -lm
@@ -457,6 +480,9 @@ dgemm.mkl : dgemm.$(SUFFIX)
457
480
dgemm.veclib : dgemm.$(SUFFIX )
458
481
-$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
459
482
483
+ dgemm.essl : dgemm.$(SUFFIX )
484
+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
485
+
460
486
# #################################### Cgemm ####################################################
461
487
462
488
cgemm.goto : cgemm.$(SUFFIX ) ../$(LIBNAME )
@@ -474,6 +500,9 @@ cgemm.mkl : cgemm.$(SUFFIX)
474
500
cgemm.veclib : cgemm.$(SUFFIX )
475
501
-$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
476
502
503
+ cgemm.essl : cgemm.$(SUFFIX )
504
+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
505
+
477
506
# #################################### Zgemm ####################################################
478
507
479
508
zgemm.goto : zgemm.$(SUFFIX ) ../$(LIBNAME )
@@ -491,6 +520,9 @@ zgemm.mkl : zgemm.$(SUFFIX)
491
520
zgemm.veclib : zgemm.$(SUFFIX )
492
521
-$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
493
522
523
+ zgemm.essl : zgemm.$(SUFFIX )
524
+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
525
+
494
526
# #################################### Ssymm ####################################################
495
527
ssymm.goto : ssymm.$(SUFFIX ) ../$(LIBNAME )
496
528
$(CC ) $(CFLAGS ) -o $(@F ) $^ $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB ) -lm
@@ -573,6 +605,9 @@ strmm.mkl : strmm.$(SUFFIX)
573
605
strmm.veclib : strmm.$(SUFFIX )
574
606
-$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
575
607
608
+ strmm.essl : strmm.$(SUFFIX )
609
+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
610
+
576
611
# #################################### Dtrmm ####################################################
577
612
dtrmm.goto : dtrmm.$(SUFFIX ) ../$(LIBNAME )
578
613
$(CC ) $(CFLAGS ) -o $(@F ) $^ $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB ) -lm
@@ -589,6 +624,9 @@ dtrmm.mkl : dtrmm.$(SUFFIX)
589
624
dtrmm.veclib : dtrmm.$(SUFFIX )
590
625
-$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
591
626
627
+ dtrmm.essl : dtrmm.$(SUFFIX )
628
+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
629
+
592
630
# #################################### Ctrmm ####################################################
593
631
594
632
ctrmm.goto : ctrmm.$(SUFFIX ) ../$(LIBNAME )
@@ -606,6 +644,9 @@ ctrmm.mkl : ctrmm.$(SUFFIX)
606
644
ctrmm.veclib : ctrmm.$(SUFFIX )
607
645
-$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
608
646
647
+ ctrmm.essl : ctrmm.$(SUFFIX )
648
+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
649
+
609
650
# #################################### Ztrmm ####################################################
610
651
611
652
ztrmm.goto : ztrmm.$(SUFFIX ) ../$(LIBNAME )
@@ -623,6 +664,9 @@ ztrmm.mkl : ztrmm.$(SUFFIX)
623
664
ztrmm.veclib : ztrmm.$(SUFFIX )
624
665
-$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
625
666
667
+ ztrmm.essl : ztrmm.$(SUFFIX )
668
+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
669
+
626
670
# #################################### Strsm ####################################################
627
671
strsm.goto : strsm.$(SUFFIX ) ../$(LIBNAME )
628
672
$(CC ) $(CFLAGS ) -o $(@F ) $^ $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB ) -lm
@@ -1413,6 +1457,39 @@ zdot.mkl : zdot-intel.$(SUFFIX)
1413
1457
zdot.veclib : zdot-intel.$(SUFFIX )
1414
1458
$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
1415
1459
1460
+ # #################################### Srot ####################################################
1461
+ srot.goto : srot.$(SUFFIX ) ../$(LIBNAME )
1462
+ $(CC ) $(CFLAGS ) -o $(@F ) $^ $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB ) -lm
1463
+
1464
+ srot.acml : srot.$(SUFFIX )
1465
+ $(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBACML ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
1466
+
1467
+ srot.atlas : srot.$(SUFFIX )
1468
+ $(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBATLAS ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
1469
+
1470
+ srot.mkl : srot.$(SUFFIX )
1471
+ $(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBMKL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
1472
+
1473
+ srot.veclib : srot.$(SUFFIX )
1474
+ $(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
1475
+
1476
+ # #################################### Drot ####################################################
1477
+ drot.goto : drot.$(SUFFIX ) ../$(LIBNAME )
1478
+ $(CC ) $(CFLAGS ) -o $(@F ) $^ $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB ) -lm
1479
+
1480
+ drot.acml : drot.$(SUFFIX )
1481
+ $(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBACML ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
1482
+
1483
+ drot.atlas : drot.$(SUFFIX )
1484
+ $(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBATLAS ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
1485
+
1486
+ drot.mkl : drot.$(SUFFIX )
1487
+ $(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBMKL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
1488
+
1489
+ drot.veclib : drot.$(SUFFIX )
1490
+ $(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
1491
+
1492
+
1416
1493
# #################################### Saxpy ####################################################
1417
1494
saxpy.goto : saxpy.$(SUFFIX ) ../$(LIBNAME )
1418
1495
$(CC ) $(CFLAGS ) -o $(@F ) $^ $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB ) -lm
@@ -2124,6 +2201,13 @@ cgesv.$(SUFFIX) : gesv.c
2124
2201
zgesv.$(SUFFIX ) : gesv.c
2125
2202
$(CC ) $(CFLAGS ) -c -DCOMPLEX -DDOUBLE -o $(@F ) $^
2126
2203
2204
+ srot.$(SUFFIX ) : rot.c
2205
+ $(CC ) $(CFLAGS ) -c -UCOMPLEX -UDOUBLE -o $(@F ) $^
2206
+
2207
+ drot.$(SUFFIX ) : rot.c
2208
+ $(CC ) $(CFLAGS ) -c -UCOMPLEX -DDOUBLE -o $(@F ) $^
2209
+
2210
+
2127
2211
2128
2212
2129
2213
@@ -2137,7 +2221,7 @@ smallscaling: smallscaling.c ../$(LIBNAME)
2137
2221
$(CC ) $(CFLAGS ) -o $(@F ) $^ $(EXTRALIB ) -fopenmp -lm
2138
2222
2139
2223
clean ::
2140
- @rm -f * .goto * .mkl * .acml * .atlas * .veclib
2224
+ @rm -f * .goto * .mkl * .acml * .atlas * .veclib * .essl
2141
2225
2142
2226
include $(TOPDIR ) /Makefile.tail
2143
2227
0 commit comments