Memory-efficient data format and utilization for parallel processing
AssigneeRoche Sequencing Solutions, Inc.
InventorCharles Seberino
Life of this patent
Estimating the term…
Abstract
A method for efficiently processing data using a parallel processor includes storing in memory data in an array in an interleaved format. The first two bits of data stored in the memory for each read is accessed using a plurality of threads, with each thread processing data from one sequence read. Each thread in parallel performs the same operation on the accessed first two bits of data. These steps are repeated until all the data in the array is processed.
Claims9
A method for efficiently processing genomic data using a parallel processor, the method comprising:
- storing genomic data in an array in an interleaved format, wherein the genomic data comprises a plurality of sequence reads;
- loading a first eight bits of data from each read into a local memory;
- accessing in parallel a first two bits of data stored in the local memory for each read using a plurality of threads, with each thread processing data from one sequence read;
- performing an operation on the accessed first two bits of data with each thread in parallel, wherein the plurality of threads are performing the same operation;
- repeating the accessing and performing an operation steps on the remaining data stored in the local memory until the entire eight bits has been processed by each thread;
- loading successive eight bits of data from each read into the local memory;
- processing the successive eight bits of data in a same manner as the first eight bits of data;
- and
- repeating the loading and processing steps until all the data in the array is processed.
A method for efficiently processing genomic data using a parallel processor, the method comprising:
- storing in memory genomic data in an array in an interleaved format, wherein the genomic data comprises a plurality of sequence reads;
- accessing in parallel a first two bits of data stored in memory for each read using a plurality of threads, with each thread processing data from one sequence read;
- performing an operation on the accessed first two bits of data with each thread in parallel, wherein the plurality of threads are performing the same operation;
- and
- repeating the accessing and performing an operation steps on successive two bits of data until all the data in the array is processed.
A method for efficiently processing data using a parallel processor, the method comprising;
- storing in memory data in an array in an interleaved format;
- accessing in parallel a first two bits of data stored in the memory for each read using a plurality of threads, with each thread processing data from one sequence read;
- performing an operation on the accessed first two bits of data with each thread in parallel, wherein the plurality of threads are performing the same operation;
- and
- repeating the accessing and performing an operation steps on successive two bits of data until all the data in the array is processed.
A method for efficiently processing data using a parallel processor, the method comprising:
- storing data in an array in an interleaved format, wherein the data is encoded in X bits;
- loading a first Y bits of data into a local memory, wherein Y is the least common multiple of X and 8;
- accessing in parallel a first X bits of data stored in the local memory using a plurality of threads;
- performing an operation on the accessed first X bits of data with each thread in parallel, wherein the plurality of threads are performing the same operation;
- repeating the accessing and performing an operation steps on the remaining data stored in the local memory until the entire Y bits has been processed by each thread;
- loading successive Y bits of data into the local memory;
- processing the successive Y bits of data in a same manner as the first Y bits of data;
- and
- repeating the loading and processing steps until all the data in the array is processed.
Dependencies are inferred from the claim text.