Merge pull request #2611 from RajalakshmiSR/bench_half
Include shgemm in benchtest
This commit is contained in:
commit
4fffa556d8
|
@ -49,6 +49,12 @@ else
|
||||||
GOTO_LAPACK_TARGETS=
|
GOTO_LAPACK_TARGETS=
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(BUILD_HALF),1)
|
||||||
|
GOTO_HALF_TARGETS=shgemm.goto
|
||||||
|
else
|
||||||
|
GOTO_HALF_TARGETS=
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(OSNAME), WINNT)
|
ifeq ($(OSNAME), WINNT)
|
||||||
|
|
||||||
goto :: slinpack.goto dlinpack.goto clinpack.goto zlinpack.goto \
|
goto :: slinpack.goto dlinpack.goto clinpack.goto zlinpack.goto \
|
||||||
|
@ -91,7 +97,7 @@ goto :: slinpack.goto dlinpack.goto clinpack.goto zlinpack.goto \
|
||||||
sgetri.goto dgetri.goto cgetri.goto zgetri.goto \
|
sgetri.goto dgetri.goto cgetri.goto zgetri.goto \
|
||||||
spotrf.goto dpotrf.goto cpotrf.goto zpotrf.goto \
|
spotrf.goto dpotrf.goto cpotrf.goto zpotrf.goto \
|
||||||
ssymm.goto dsymm.goto csymm.goto zsymm.goto \
|
ssymm.goto dsymm.goto csymm.goto zsymm.goto \
|
||||||
saxpby.goto daxpby.goto caxpby.goto zaxpby.goto
|
saxpby.goto daxpby.goto caxpby.goto zaxpby.goto $(GOTO_HALF_TARGETS)
|
||||||
|
|
||||||
acml :: slinpack.acml dlinpack.acml clinpack.acml zlinpack.acml \
|
acml :: slinpack.acml dlinpack.acml clinpack.acml zlinpack.acml \
|
||||||
scholesky.acml dcholesky.acml ccholesky.acml zcholesky.acml \
|
scholesky.acml dcholesky.acml ccholesky.acml zcholesky.acml \
|
||||||
|
@ -264,7 +270,7 @@ goto :: sgemm.goto dgemm.goto cgemm.goto zgemm.goto \
|
||||||
samin.goto damin.goto camin.goto zamin.goto \
|
samin.goto damin.goto camin.goto zamin.goto \
|
||||||
smin.goto dmin.goto \
|
smin.goto dmin.goto \
|
||||||
saxpby.goto daxpby.goto caxpby.goto zaxpby.goto \
|
saxpby.goto daxpby.goto caxpby.goto zaxpby.goto \
|
||||||
snrm2.goto dnrm2.goto scnrm2.goto dznrm2.goto $(GOTO_LAPACK_TARGETS)
|
snrm2.goto dnrm2.goto scnrm2.goto dznrm2.goto $(GOTO_LAPACK_TARGETS) $(GOTO_HALF_TARGETS)
|
||||||
|
|
||||||
acml :: slinpack.acml dlinpack.acml clinpack.acml zlinpack.acml \
|
acml :: slinpack.acml dlinpack.acml clinpack.acml zlinpack.acml \
|
||||||
scholesky.acml dcholesky.acml ccholesky.acml zcholesky.acml \
|
scholesky.acml dcholesky.acml ccholesky.acml zcholesky.acml \
|
||||||
|
@ -614,6 +620,11 @@ zcholesky.essl : zcholesky.$(SUFFIX)
|
||||||
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBESSL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
|
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBESSL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
|
||||||
|
|
||||||
##################################### Sgemm ####################################################
|
##################################### Sgemm ####################################################
|
||||||
|
ifeq ($(BUILD_HALF),1)
|
||||||
|
shgemm.goto : shgemm.$(SUFFIX) ../$(LIBNAME)
|
||||||
|
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB) -lm
|
||||||
|
endif
|
||||||
|
|
||||||
sgemm.goto : sgemm.$(SUFFIX) ../$(LIBNAME)
|
sgemm.goto : sgemm.$(SUFFIX) ../$(LIBNAME)
|
||||||
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB) -lm
|
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB) -lm
|
||||||
|
|
||||||
|
@ -2916,6 +2927,11 @@ ccholesky.$(SUFFIX) : cholesky.c
|
||||||
zcholesky.$(SUFFIX) : cholesky.c
|
zcholesky.$(SUFFIX) : cholesky.c
|
||||||
$(CC) $(CFLAGS) -c -DCOMPLEX -DDOUBLE -o $(@F) $^
|
$(CC) $(CFLAGS) -c -DCOMPLEX -DDOUBLE -o $(@F) $^
|
||||||
|
|
||||||
|
ifeq ($(BUILD_HALF),1)
|
||||||
|
shgemm.$(SUFFIX) : gemm.c
|
||||||
|
$(CC) $(CFLAGS) -c -DHALF -UCOMPLEX -UDOUBLE -o $(@F) $^
|
||||||
|
endif
|
||||||
|
|
||||||
sgemm.$(SUFFIX) : gemm.c
|
sgemm.$(SUFFIX) : gemm.c
|
||||||
$(CC) $(CFLAGS) -c -UCOMPLEX -UDOUBLE -o $(@F) $^
|
$(CC) $(CFLAGS) -c -UCOMPLEX -UDOUBLE -o $(@F) $^
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
#ifdef DOUBLE
|
#ifdef DOUBLE
|
||||||
#define GEMM BLASFUNC(dgemm)
|
#define GEMM BLASFUNC(dgemm)
|
||||||
|
#elif defined(HALF)
|
||||||
|
#define GEMM BLASFUNC(shgemm)
|
||||||
#else
|
#else
|
||||||
#define GEMM BLASFUNC(sgemm)
|
#define GEMM BLASFUNC(sgemm)
|
||||||
#endif
|
#endif
|
||||||
|
@ -120,7 +122,8 @@ static void *huge_malloc(BLASLONG size){
|
||||||
|
|
||||||
int main(int argc, char *argv[]){
|
int main(int argc, char *argv[]){
|
||||||
|
|
||||||
FLOAT *a, *b, *c;
|
IFLOAT *a, *b;
|
||||||
|
FLOAT *c;
|
||||||
FLOAT alpha[] = {1.0, 0.0};
|
FLOAT alpha[] = {1.0, 0.0};
|
||||||
FLOAT beta [] = {0.0, 0.0};
|
FLOAT beta [] = {0.0, 0.0};
|
||||||
char transa = 'N';
|
char transa = 'N';
|
||||||
|
@ -184,10 +187,10 @@ int main(int argc, char *argv[]){
|
||||||
k = to;
|
k = to;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (( a = (FLOAT *)malloc(sizeof(FLOAT) * m * k * COMPSIZE)) == NULL) {
|
if (( a = (IFLOAT *)malloc(sizeof(IFLOAT) * m * k * COMPSIZE)) == NULL) {
|
||||||
fprintf(stderr,"Out of Memory!!\n");exit(1);
|
fprintf(stderr,"Out of Memory!!\n");exit(1);
|
||||||
}
|
}
|
||||||
if (( b = (FLOAT *)malloc(sizeof(FLOAT) * k * n * COMPSIZE)) == NULL) {
|
if (( b = (IFLOAT *)malloc(sizeof(IFLOAT) * k * n * COMPSIZE)) == NULL) {
|
||||||
fprintf(stderr,"Out of Memory!!\n");exit(1);
|
fprintf(stderr,"Out of Memory!!\n");exit(1);
|
||||||
}
|
}
|
||||||
if (( c = (FLOAT *)malloc(sizeof(FLOAT) * m * n * COMPSIZE)) == NULL) {
|
if (( c = (FLOAT *)malloc(sizeof(FLOAT) * m * n * COMPSIZE)) == NULL) {
|
||||||
|
@ -199,10 +202,10 @@ int main(int argc, char *argv[]){
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
for (i = 0; i < m * k * COMPSIZE; i++) {
|
for (i = 0; i < m * k * COMPSIZE; i++) {
|
||||||
a[i] = ((FLOAT) rand() / (FLOAT) RAND_MAX) - 0.5;
|
a[i] = ((IFLOAT) rand() / (IFLOAT) RAND_MAX) - 0.5;
|
||||||
}
|
}
|
||||||
for (i = 0; i < k * n * COMPSIZE; i++) {
|
for (i = 0; i < k * n * COMPSIZE; i++) {
|
||||||
b[i] = ((FLOAT) rand() / (FLOAT) RAND_MAX) - 0.5;
|
b[i] = ((IFLOAT) rand() / (IFLOAT) RAND_MAX) - 0.5;
|
||||||
}
|
}
|
||||||
for (i = 0; i < m * n * COMPSIZE; i++) {
|
for (i = 0; i < m * n * COMPSIZE; i++) {
|
||||||
c[i] = ((FLOAT) rand() / (FLOAT) RAND_MAX) - 0.5;
|
c[i] = ((FLOAT) rand() / (FLOAT) RAND_MAX) - 0.5;
|
||||||
|
|
Loading…
Reference in New Issue