示例#1
0
if build or analyse:
    # Generate memory layouts
    if args.equations == 'viscoelastic':
        memoryLayouts = MemoryLayout.getViscoelasticMemoryLayouts(
            args.order, args.numberOfMechanisms, args.arch)
    elif args.equations == 'viscoelastic2':
        memoryLayouts = MemoryLayout.getViscoelastic2MemoryLayouts(
            args.order, args.arch)

if build:
    MemoryLayout.generateTuningLayoutFiles(memoryLayouts)

# Build versions, run tests and proxy
options = {
    'equations': args.equations,
    'order': args.order,
    'numberOfMechanisms': args.numberOfMechanisms,
    'libxsmmGenerator': args.libxsmmGenerator,
    'arch': args.arch,
    'compileMode': 'release',
    '--jobs': args.ncompileJobs
}
Proxy.buildOrRun(options, args.nelem, args.ntimesteps, build=build, run=run)

if analyse:
    # Analysis
    matrices = Analysis.analyse()

    # Generate best memory layout
    MemoryLayout.generateLayoutFile(matrices, memoryLayouts)
示例#2
0
if build or analyse:
  # Generate memory layouts  
  if args.equations == 'elastic':
    memoryLayouts = MemoryLayout.getElasticMemoryLayouts(args.order, args.arch)
  if args.equations == 'viscoelastic':
    memoryLayouts = MemoryLayout.getViscoelasticMemoryLayouts(args.order, args.numberOfMechanisms, args.arch)
  elif args.equations == 'viscoelastic2':
    memoryLayouts = MemoryLayout.getViscoelastic2MemoryLayouts(args.order, args.arch)

if build:
  MemoryLayout.generateTuningLayoutFiles(memoryLayouts)
  
# Build versions, run tests and proxy
options = {
  'equations':          args.equations,
  'order':              args.order,
  'numberOfMechanisms': args.numberOfMechanisms,
  'arch':               args.arch,
  'compileMode':        'release',
  '--jobs':             args.ncompileJobs
}
Proxy.buildOrRun(options, args.nelem, args.ntimesteps, build=build, test=test, run=run, host=args.host)

if analyse:
  # Analysis
  matrices = Analysis.analyse()

  # Generate best memory layout
  MemoryLayout.generateLayoutFile(matrices, memoryLayouts)
示例#3
0
tryMkdir(Proxy.OutputDir)

if build or analyse:
  # Generate memory layouts
  if args.equations == 'viscoelastic':
    memoryLayouts = MemoryLayout.getViscoelasticMemoryLayouts(args.order, args.numberOfMechanisms, args.arch)
  elif args.equations == 'viscoelastic2':
    memoryLayouts = MemoryLayout.getViscoelastic2MemoryLayouts(args.order, args.arch)

if build:
  MemoryLayout.generateTuningLayoutFiles(memoryLayouts)
  
# Build versions, run tests and proxy
options = {
  'equations':          args.equations,
  'order':              args.order,
  'numberOfMechanisms': args.numberOfMechanisms,
  'libxsmmGenerator':   args.libxsmmGenerator,
  'arch':               args.arch,
  'compileMode':        'release',
  '--jobs':             args.ncompileJobs
}
Proxy.buildOrRun(options, args.nelem, args.ntimesteps, build=build, run=run)

if analyse:
  # Analysis
  matrices = Analysis.analyse()

  # Generate best memory layout
  MemoryLayout.generateLayoutFile(matrices, memoryLayouts)