コード例 #1
0
import Common
import Includes
import KernelSelection
import AutoGemmParameters
import KernelOpenCL


################################################################################
# Main
################################################################################
if __name__ == "__main__":
  # parse arguments
  ap = argparse.ArgumentParser(description="AutoGemm")
  ap.add_argument("--output-path", dest="output" )
  ap.add_argument("--opencl-compiler-version", dest="clCompilerVersion", action="store", choices=["1.1", "1.2", "2.0" ])
  ap.add_argument("--architecture", dest="architecture", action="store", choices=["Hawaii", "Fiji" ])
  args = ap.parse_args()
  if args.output:
    Common.setOutputPath(args.output)
  else:
    print("AutoGemm.py: Warning: No output path specified; default is working directory.")

  print("AutoGemm.py: using OpenCL " + args.clCompilerVersion + " compiler")
  Common.setClCompilerVersion(args.clCompilerVersion)
  AutoGemmParameters.setArchitecture(args.architecture)

  KernelOpenCL.writeOpenCLKernels()
  KernelSelection.writeKernelSelection()
  Includes.writeIncludes()
コード例 #2
0
                        # for tile parameters
                        for tile in tiles:
                            kernel.useTile(tile)
                            kss.newKernel(kernel)

    kss.writeToFile()

    ########################################
    # kernel selection
    ks = KernelSelection( \
        AutoGemmParameters.precisions, \
        AutoGemmParameters.orders, \
        AutoGemmParameters.transposes, \
        AutoGemmParameters.betas, \
        AutoGemmParameters.unrolls, \
        AutoGemmParameters.kernelSelectionData )
    ks.writeToFile()


################################################################################
# Main
################################################################################
if __name__ == "__main__":
    if len(sys.argv) == 3:
        Common.setOutputPath(sys.argv[1])
        AutoGemmParameters.setArchitecture(sys.argv[2])
        writeKernelSelection()
    else:
        print("USAGE: python KernelSelection.py output_path architecture")
コード例 #3
0
            # for tile parameters
            for tile in tiles:
              kernel.useTile(tile)
              kss.newKernel(kernel)

  kss.writeToFile()

  ########################################
  # kernel selection
  ks = KernelSelection( \
      AutoGemmParameters.precisions, \
      AutoGemmParameters.orders, \
      AutoGemmParameters.transposes, \
      AutoGemmParameters.betas, \
      AutoGemmParameters.unrolls, \
      AutoGemmParameters.kernelSelectionData )
  ks.writeToFile()



################################################################################
# Main
################################################################################
if __name__ == "__main__":
  if len(sys.argv) == 3:
    Common.setOutputPath(sys.argv[1])
    AutoGemmParameters.setArchitecture(sys.argv[2])
    writeKernelSelection()
  else:
    print("USAGE: python KernelSelection.py output_path architecture")