@@ -33,6 +33,10 @@ LIBMKL = -L$(MKL) -lmkl_intel_lp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread
3333# Apple vecLib
3434LIBVECLIB = -framework Accelerate
3535
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+
3640ifeq ($(OSNAME ) , WINNT)
3741
3842goto :: slinpack.goto dlinpack.goto clinpack.goto zlinpack.goto \
@@ -44,6 +48,7 @@ goto :: slinpack.goto dlinpack.goto clinpack.goto zlinpack.goto \
4448 ssyr2k.goto dsyr2k.goto csyr2k.goto zsyr2k.goto \
4549 sger.goto dger.goto cger.goto zger.goto \
4650 sdot.goto ddot.goto \
51+ srot.goto drot.goto \
4752 saxpy.goto daxpy.goto caxpy.goto zaxpy.goto \
4853 scopy.goto dcopy.goto ccopy.goto zcopy.goto \
4954 sswap.goto dswap.goto cswap.goto zswap.goto \
@@ -151,6 +156,7 @@ goto :: slinpack.goto dlinpack.goto clinpack.goto zlinpack.goto \
151156 ssyr2k.goto dsyr2k.goto csyr2k.goto zsyr2k.goto \
152157 sger.goto dger.goto cger.goto zger.goto \
153158 sdot.goto ddot.goto cdot.goto zdot.goto \
159+ srot.goto drot.goto \
154160 saxpy.goto daxpy.goto caxpy.goto zaxpy.goto \
155161 scopy.goto dcopy.goto ccopy.goto zcopy.goto \
156162 sswap.goto dswap.goto cswap.goto zswap.goto \
@@ -253,7 +259,9 @@ mkl :: slinpack.mkl dlinpack.mkl clinpack.mkl zlinpack.mkl \
253259
254260endif
255261
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
257265
258266veclib :: slinpack.veclib dlinpack.veclib clinpack.veclib zlinpack.veclib \
259267 scholesky.veclib dcholesky.veclib ccholesky.veclib zcholesky.veclib \
@@ -306,6 +314,9 @@ slinpack.mkl : slinpack.$(SUFFIX)
306314slinpack.veclib : slinpack.$(SUFFIX )
307315 -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
308316
317+ slinpack.essl : slinpack.$(SUFFIX )
318+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
319+
309320# #################################### Dlinpack ####################################################
310321dlinpack.goto : dlinpack.$(SUFFIX ) ../$(LIBNAME )
311322 $(CC ) $(CFLAGS ) -o $(@F ) $^ $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB ) -lm
@@ -322,6 +333,9 @@ dlinpack.mkl : dlinpack.$(SUFFIX)
322333dlinpack.veclib : dlinpack.$(SUFFIX )
323334 -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
324335
336+ dlinpack.essl : dlinpack.$(SUFFIX )
337+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
338+
325339# #################################### Clinpack ####################################################
326340
327341clinpack.goto : clinpack.$(SUFFIX ) ../$(LIBNAME )
@@ -339,6 +353,9 @@ clinpack.mkl : clinpack.$(SUFFIX)
339353clinpack.veclib : clinpack.$(SUFFIX )
340354 -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
341355
356+ clinpack.essl : clinpack.$(SUFFIX )
357+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
358+
342359# #################################### Zlinpack ####################################################
343360
344361zlinpack.goto : zlinpack.$(SUFFIX ) ../$(LIBNAME )
@@ -356,6 +373,9 @@ zlinpack.mkl : zlinpack.$(SUFFIX)
356373zlinpack.veclib : zlinpack.$(SUFFIX )
357374 -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
358375
376+ zlinpack.essl : zlinpack.$(SUFFIX )
377+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
378+
359379# #################################### Scholesky ###################################################
360380
361381scholesky.goto : scholesky.$(SUFFIX ) ../$(LIBNAME )
@@ -441,6 +461,9 @@ sgemm.mkl : sgemm.$(SUFFIX)
441461sgemm.veclib : sgemm.$(SUFFIX )
442462 -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
443463
464+ sgemm.essl : sgemm.$(SUFFIX )
465+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
466+
444467# #################################### Dgemm ####################################################
445468dgemm.goto : dgemm.$(SUFFIX ) ../$(LIBNAME )
446469 $(CC ) $(CFLAGS ) -o $(@F ) $^ $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB ) -lm
@@ -457,6 +480,9 @@ dgemm.mkl : dgemm.$(SUFFIX)
457480dgemm.veclib : dgemm.$(SUFFIX )
458481 -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
459482
483+ dgemm.essl : dgemm.$(SUFFIX )
484+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
485+
460486# #################################### Cgemm ####################################################
461487
462488cgemm.goto : cgemm.$(SUFFIX ) ../$(LIBNAME )
@@ -474,6 +500,9 @@ cgemm.mkl : cgemm.$(SUFFIX)
474500cgemm.veclib : cgemm.$(SUFFIX )
475501 -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
476502
503+ cgemm.essl : cgemm.$(SUFFIX )
504+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
505+
477506# #################################### Zgemm ####################################################
478507
479508zgemm.goto : zgemm.$(SUFFIX ) ../$(LIBNAME )
@@ -491,6 +520,9 @@ zgemm.mkl : zgemm.$(SUFFIX)
491520zgemm.veclib : zgemm.$(SUFFIX )
492521 -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
493522
523+ zgemm.essl : zgemm.$(SUFFIX )
524+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
525+
494526# #################################### Ssymm ####################################################
495527ssymm.goto : ssymm.$(SUFFIX ) ../$(LIBNAME )
496528 $(CC ) $(CFLAGS ) -o $(@F ) $^ $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB ) -lm
@@ -573,6 +605,9 @@ strmm.mkl : strmm.$(SUFFIX)
573605strmm.veclib : strmm.$(SUFFIX )
574606 -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
575607
608+ strmm.essl : strmm.$(SUFFIX )
609+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
610+
576611# #################################### Dtrmm ####################################################
577612dtrmm.goto : dtrmm.$(SUFFIX ) ../$(LIBNAME )
578613 $(CC ) $(CFLAGS ) -o $(@F ) $^ $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB ) -lm
@@ -589,6 +624,9 @@ dtrmm.mkl : dtrmm.$(SUFFIX)
589624dtrmm.veclib : dtrmm.$(SUFFIX )
590625 -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
591626
627+ dtrmm.essl : dtrmm.$(SUFFIX )
628+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
629+
592630# #################################### Ctrmm ####################################################
593631
594632ctrmm.goto : ctrmm.$(SUFFIX ) ../$(LIBNAME )
@@ -606,6 +644,9 @@ ctrmm.mkl : ctrmm.$(SUFFIX)
606644ctrmm.veclib : ctrmm.$(SUFFIX )
607645 -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
608646
647+ ctrmm.essl : ctrmm.$(SUFFIX )
648+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
649+
609650# #################################### Ztrmm ####################################################
610651
611652ztrmm.goto : ztrmm.$(SUFFIX ) ../$(LIBNAME )
@@ -623,6 +664,9 @@ ztrmm.mkl : ztrmm.$(SUFFIX)
623664ztrmm.veclib : ztrmm.$(SUFFIX )
624665 -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
625666
667+ ztrmm.essl : ztrmm.$(SUFFIX )
668+ -$(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBESSL ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
669+
626670# #################################### Strsm ####################################################
627671strsm.goto : strsm.$(SUFFIX ) ../$(LIBNAME )
628672 $(CC ) $(CFLAGS ) -o $(@F ) $^ $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB ) -lm
@@ -1413,6 +1457,39 @@ zdot.mkl : zdot-intel.$(SUFFIX)
14131457zdot.veclib : zdot-intel.$(SUFFIX )
14141458 $(CC ) $(CFLAGS ) -o $(@F ) $^ $(LIBVECLIB ) $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB )
14151459
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+
14161493# #################################### Saxpy ####################################################
14171494saxpy.goto : saxpy.$(SUFFIX ) ../$(LIBNAME )
14181495 $(CC ) $(CFLAGS ) -o $(@F ) $^ $(CEXTRALIB ) $(EXTRALIB ) $(FEXTRALIB ) -lm
@@ -2124,6 +2201,13 @@ cgesv.$(SUFFIX) : gesv.c
21242201zgesv.$(SUFFIX ) : gesv.c
21252202 $(CC ) $(CFLAGS ) -c -DCOMPLEX -DDOUBLE -o $(@F ) $^
21262203
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+
21272211
21282212
21292213
@@ -2137,7 +2221,7 @@ smallscaling: smallscaling.c ../$(LIBNAME)
21372221 $(CC ) $(CFLAGS ) -o $(@F ) $^ $(EXTRALIB ) -fopenmp -lm
21382222
21392223clean ::
2140- @rm -f * .goto * .mkl * .acml * .atlas * .veclib
2224+ @rm -f * .goto * .mkl * .acml * .atlas * .veclib * .essl
21412225
21422226include $(TOPDIR ) /Makefile.tail
21432227
0 commit comments