SIMD Vector Population Count for Genome Sequencing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processing methods for genome sequencing and alignment, particularly with packed DNA data formats, face performance limitations due to the need for look-up tables, shift, and mask operations, which hinder efficient counting of nucleotide occurrences, thereby reducing the effectiveness of SIMD parallelism in applications like genome sequencing and alignment.

Innovation Solution

The implementation of SIMD vector population count instructions that allow for the direct counting of nucleotide occurrences within packed data formats, eliminating the need for look-up tables and shift operations, and enhancing the performance of genome sequencing and alignment processes by leveraging SIMD parallelism.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If look-up tables, shift and mask operations are used to count nucleotide occurrences in packed DNA data, then counting functionality is achieved, but processing performance is limited and device complexity increases

Engineering Contradiction:
Improveprocessing performanceVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the population count operation from traditional sequential processing and integrates it directly into SIMD vector instructions. By incorporating a dedicated population count unit within the vector processing architecture, the counting functionality is separated from general-purpose processing while being tightly coupled to the data flow, enabling direct counting of nucleotide occurrences without external look-up tables or multiple shift operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The SIMD vector population count instruction provides a universal solution that handles multiple data types and packing formats (2-bit, 4-bit, 8-bit packed elements) through a single instruction mechanism. This multi-functional approach replaces multiple specialized operations (look-up tables for 2-bit, shift operations for 4-bit, etc.) with one unified population count operation that adapts to different data representations.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Measurement precision

If look-up tables and shift operations are employed for nucleotide counting, then counting accuracy is maintained, but processing time increases

Engineering Contradiction:
Improvecounting accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The population count unit is pre-integrated into the SIMD execution pipeline, performing counting operations concurrently with other vector operations. By having the counting capability prepared in advance within the vector processing unit, the system eliminates the need for sequential look-up table accesses or multiple shift operations that would otherwise occur after the main processing stage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent merges the population count operation with the SIMD vector processing pipeline by integrating a dedicated count unit that operates on vector data in-flight. This combining of counting functionality with the main processing flow allows nucleotide occurrence counting to occur simultaneously with data transformation operations, rather than as a separate post-processing step.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If SIMD parallelism is utilized with packed data formats, then processing throughput is improved, but additional operations (shift, mask) are required increasing complexity

Engineering Contradiction:
Improveprocessing throughputVSAvoidoperation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The SIMD vector population count instruction is designed to operate directly on packed data formats (2-bit, 4-bit, 8-bit elements) without requiring the data to be transformed into a different format first. The instruction itself contains the logic to handle various packing densities, making the operation self-sufficient and eliminating the need for accompanying shift and mask operations that would be required to prepare the data for counting.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10678546B2Methods, apparatus, instructions and logic to provide population count functionality for genome sequencing and alignment
Publication Date: 2020.06.09 INTEL CORP
  • US10678546B2 patent drawing
  • US10678546B2 patent drawing
  • US10678546B2 patent drawing

AI summary

Instructions and logic provide SIMD vector population count functionality. Some embodiments store in each data field of a portion of n data fields of a vector register or memory vector, at least two bits of data. In a processor, a SIMD instruction for a vector population count is executed, such that for that portion of the n data fields in the vector register or memory vector, the occurrences of binary values equal to each of a first one or more predetermined binary values, are counted and the counted occurrences are stored, in a portion of a destination register corresponding to the portion of the n data fields in the vector register or memory vector, as a first one or more counts corresponding to the first one or more predetermined binary values.