package org.trifort.rootbeer.testcases.rootbeertest.serialization; import org.trifort.rootbeer.runtime.Kernel; public class PairHmmJimpleRunOnGpu implements Kernel { private double m_result; private PairHMM pairHMM; public PairHmmJimpleRunOnGpu(){ pairHMM = new PairHMM(); } public void gpuMethod() { byte[] haplotype_bases = new byte[20]; byte[] read_bases = new byte[20]; byte[] read_quals = new byte[20]; byte[] insertion_gop = new byte[20]; byte[] deletion_gop = new byte[20]; byte[] overall_gcp = new byte[20]; haplotype_bases[0] = 1; read_quals[0] = 10; int hap_start_index = 50; boolean recache_read_value = true; m_result = hmm(haplotype_bases, read_bases, read_quals, insertion_gop, deletion_gop, overall_gcp, hap_start_index, recache_read_value); } public double hmm(final byte[] haplotypeBases, final byte[] readBases, final byte[] readQuals, final byte[] insertionGOP, final byte[] deletionGOP, final byte[] overallGCP, final int hapStartIndex, final boolean recacheReadValues) { for (int i = 0; i < readQuals.length; i++) { readQuals[i] = (readQuals[i] < PairHmmQualityUtils.MIN_USABLE_Q_SCORE ? PairHmmQualityUtils.MIN_USABLE_Q_SCORE : (readQuals[i] > Byte.MAX_VALUE ? Byte.MAX_VALUE : readQuals[i])); } double ret = pairHMM.computeReadLikelihoodGivenHaplotypeLog10( haplotypeBases, readBases, readQuals, insertionGOP, deletionGOP, overallGCP, hapStartIndex, recacheReadValues); return ret; } public boolean compare(PairHmmJimpleRunOnGpu rhs) { if(m_result != rhs.m_result){ System.out.println("m_result"); System.out.println("lhs: "+m_result); System.out.println("rhs: "+rhs.m_result); return false; } return true; } }