Sparse matrix-vector multiplication (SpMV) plays a critical role in a wide range of linear algebra computations, particularly in scientific and engineering disciplines. However, the irregular memory access patterns, extensive memory usage, high bandwidth requirements, and underutilization of parallelism hinder the computational efficiency of SpMV on GPUs. In this paper, we propose a novel approach called block-wise dynamic mixed-precision (BDMP) to address these challenges. Our methodology involves partitioning the original matrix into uniformly sized blocks, with each block’s size determined by considering architectural characteristics and accuracy requirements. Additionally, we dynamically assign precision to each block using a precision selection method that takes into account the value distribution of the original sparse matrix. We develop two distinct SpMV computation algorithms for BDMP: BDMP-PBP (Precision-based partitioning) and BDMP-TCKI (Tailored compression and kernel implementation). BDMP-PBP partitions the matrix into two independent matrices for separate computations based on block precision, offering flexibility for integration with other optimization techniques. Meanwhile, BDMP-TCKI focuses on achieving significant thread-level parallelism and memory utilization by tailoring an appropriate compressed storage format and kernel implementation for each block. We compare BDMP with NVIDIA’s cuSPARSE library and three state-of-the-art SpMV methods, including SELLP, MergeBase, and BalanceCSR, using matrices from the University of Florida’s SuiteSparse dataset collection. BDMP-PBP and BDMP-TCKI show average speedups up to 2.64 $$\times $$ and 2.91 $$\times $$ on Turing RTX 2080Ti, and up to 2.99 $$\times $$ and 3.22 $$\times $$ on Ampere A100. The results demonstrate that BDMP enables the optimization of computation speed without compromising the precision necessary for reliable results.
Top-K and selection operations are critical in data processing and analysis, and their efficient implementation on GPUs is increasingly important due to the growing demands of data analysis. Existing methods, primarily relying on the bucket partition execution model, encounter challenges such as uneven bucket distribution and latency in merging processes. To address these issues, we introduce a novel Split-Bucket Partition (SBP) execution model that specifically addresses these challenges. Additionally, we propose task and control flow optimizations targeted at top-K and selection algorithms, which further contribute to performance improvements. Our optimized algorithms significantly outperform existing approaches, delivering performance gains of up to $$2.3$$ times and $$1.6$$ times for different bucket partitioning rules. Our algorithms show robust performance improvements in non-uniform data scenarios, with gains ranging from $$1.9$$ times to $$15.5$$ times. However, it should be noted that the SBP model has limitations related to shared memory and register utilization, potentially impacting performance. Tests on TU102 and A100 GPU architectures validate the effectiveness of our approach, achieving a maximum speedup of $$2.9$$ times. The study suggests that while the SBP model is effective for top-K and selection algorithms, it also holds promise for other computational tasks, setting the stage for future research.
26 November 2024 in Applied and Computational Engineering
In large-scale data analysis, efficient Top-K query processing is critical for numerous applications in science, industry, and society. Traditional approaches often involve substantial data transfer and computational overhead, making it difficult to meet the scalability and efficiency demands of modern datasets. This paper proposes a GPU-accelerated Top-K query processing method that integrates data compression and pre-filtering techniques to address these challenges. By partitioning and compressing data on the host side, it alleviates common PCIe bottlenecks in heterogeneous computing environments. A metadata-driven pre-filtering technique further reduces the data volume processed on the GPU, significantly improving query performance, particularly when handling anti-correlated datasets. Experimental results demonstrate that this method markedly reduces data transfer and processing time, confirming its effectiveness in enhancing the efficiency and scalability of Top-K query processing compared to existing methods.
With advancements in computing technology and the rapid progress of data science, machine learning has been widely applied in various fields, showing great potential, especially in digital healthcare. In recent years, conversational diagnostic systems have been used to predict diseases through symptom checking. Early systems predicted the likelihood of a single disease by minimizing the number of questions asked. However, doctors typically perform differential diagnoses in real medical practice, considering multiple possible diseases to address diagnostic uncertainty. This requires systems to ask more critical questions to improve diagnostic accuracy. Nevertheless, such systems in acute medical situations need to process information quickly and accurately, but the complexity of differential diagnosis increases the system’s computational cost. To improve the efficiency and accuracy of telemedicine diagnostic systems, this study developed an optimized algorithm for the Top-K algorithm. This algorithm dynamically adjusts the number of the most likely diseases and symptoms by real-time monitoring of case progress, optimizing the diagnostic process, enhancing accuracy (99.81%), and increasing the exclusion rate of severe pathologies. Additionally, the Top-K algorithm optimizes the diagnostic model through a policy network loss function, effectively reducing the number of symptoms and diseases processed and improving the system’s response speed by 1.3–1.9 times compared to the state-of-the-art differential diagnosis systems.
10 February 2025 in Concurrency and Computation: Practice and Experience