/* * Copyright 2012 Phil Pratt-Szeliga and other contributors * http://chirrup.org/ * * See the file LICENSE for copying permission. */ package org.trifort.rootbeer.testcases.rootbeertest.kerneltemplate; import org.trifort.rootbeer.runtime.Kernel; import org.trifort.rootbeer.runtime.ThreadConfig; import org.trifort.rootbeer.test.TestKernelTemplate; public class FastMatrixTest implements TestKernelTemplate { private int m_blockSize; private int m_gridSize; public FastMatrixTest(){ m_blockSize = 64; m_gridSize = 64*14; } public Kernel create() { int[] a = new int[m_blockSize*m_blockSize]; int[] b = new int[m_blockSize*m_blockSize*m_gridSize]; int[] c = new int[m_blockSize*m_blockSize*m_gridSize]; for(int i = 0; i < a.length; ++i){ a[i] = i; } for(int i = 0; i < b.length; ++i){ b[i] = i; } Kernel ret = new MatrixKernel(a, b, c, m_blockSize, m_gridSize); return ret; } public ThreadConfig getThreadConfig() { ThreadConfig ret = new ThreadConfig(m_blockSize, 1, 1, m_gridSize, 1, m_blockSize * m_gridSize); return ret; } public boolean compare(Kernel original, Kernel from_heap) { MatrixKernel lhs = (MatrixKernel) original; MatrixKernel rhs = (MatrixKernel) from_heap; return lhs.compare(rhs); } }