示例#1
0
文件: cmnd.py 项目: leitao/math-atlas
def test(ATLdir, ARCH, pre, blas, N, M, lda, rout, cc=None, ccf=None, opt=""):
    
    l1blas = kernels.GetFKOlevel1Blas()
    l2blas = kernels.GetLevel2Blas()
    l3blas = kernels.GetLevel3Blas()
    #fkogemm = kernels.GetAllFKOGEMM()
   
    if blas in l1blas:
        return l1cmnd.test(ATLdir, ARCH, pre, blas, N, rout, cc, ccf, opt)
    elif blas in l2blas:
        return l2cmnd.test(ATLdir, ARCH, pre, blas, N, M, lda, rout, cc, ccf, opt)
#right now, we support gemm kernel with beta = 1, may change the kernel name
# like: gemmkb1 
    elif blas in l3blas:
        return l3cmnd.test(ATLdir, ARCH, pre, blas, N, 1, rout, cc, ccf, opt)
    elif blas in kernels.GetAllFKOGEMM():
        return l3cmnd.test(ATLdir, ARCH, pre, blas, N, 1, rout, cc, ccf, opt)
    else:
        print "UNKNOWN KERNEL [FOR CMND] !!! "
        return -1
示例#2
0
def test(ATLdir, ARCH, pre, blas, N, M, lda, rout, cc=None, ccf=None, opt=""):

    l1blas = kernels.GetFKOlevel1Blas()
    l2blas = kernels.GetLevel2Blas()
    l3blas = kernels.GetLevel3Blas()
    #fkogemm = kernels.GetAllFKOGEMM()

    if blas in l1blas:
        return l1cmnd.test(ATLdir, ARCH, pre, blas, N, rout, cc, ccf, opt)
    elif blas in l2blas:
        return l2cmnd.test(ATLdir, ARCH, pre, blas, N, M, lda, rout, cc, ccf,
                           opt)


#right now, we support gemm kernel with beta = 1, may change the kernel name
# like: gemmkb1
    elif blas in l3blas:
        return l3cmnd.test(ATLdir, ARCH, pre, blas, N, 1, rout, cc, ccf, opt)
    elif blas in kernels.GetAllFKOGEMM():
        return l3cmnd.test(ATLdir, ARCH, pre, blas, N, 1, rout, cc, ccf, opt)
    else:
        print "UNKNOWN KERNEL [FOR CMND] !!! "
        return -1
示例#3
0
nargs = len(sys.argv)
if nargs < 4:
   print 'USAGE: %s <pre> <blas> <file> [<N> <uopt> <TEST> <CC> <CCF>]' % sys.argv[0]
   sys.exit(1)

pre = sys.argv[1]
blas = sys.argv[2]
file = sys.argv[3]
if nargs > 4 :
   N = int(sys.argv[4])
   if nargs > 5 :
      TEST = int(sys.argv[5])
   if nargs > 6 :
      uopt = sys.argv[6]
      if nargs > 7 :
         CC = sys.argv[7]
         if nargs > 8 :
            CCF = sys.argv[8]

#opt = "-X 1 -Y 1 " + uopt
#opt = "-X 1 -Y 1 -Fx 16 -Fy 16 " + uopt
opt = "-X 1 -Y 1 -Fx 32 -Fy 32 " + uopt
[t0,mf] = l1cmnd.time(ATLdir, ARCH, pre, blas, N, file, cc=CC, ccf=CCF, opt=opt)
if TEST:
   i = l1cmnd.test(ATLdir, ARCH, pre, blas, N, file, cc=CC, ccf=CCF, opt=teopt)
   if i : PF = "FAIL"
   else : PF = "PASS"
else : PF = "SKIP"
print "%s%s-%s : time=%e, mflop=%.2f -- %s" % (pre, blas, file, t0, mf, PF)