English
Related papers

Related papers: Engineering Parallel String Sorting

200 papers

To minimize data movement, state-of-the-art parallel sorting algorithms use techniques based on sampling and histogramming to partition keys prior to redistribution. Sampling enables partitioning to be done using a representative subset of…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-04-30 Vipul Harsh , Laxmikant Kale , Edgar Solomonik

Repeat finding in strings has important applications in subfields such as computational biology. The challenge of finding the longest repeats covering particular string positions was recently proposed and solved by \.{I}leri et al., using a…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-01-28 Yun Tian , Bojian Xu

In this paper, we discuss software design issues related to the development of parallel computational intelligence algorithms on multi-core CPUs, using the new Java 8 functional programming features. In particular, we focus on probabilistic…

Artificial Intelligence · Computer Science 2017-07-10 Andres R. Masegosa , Ana M. Martinez , Hanen Borchani

Matrix-accelerated stencil computation is a hot research topic, yet its application to three-dimensional (3D) high-order stencils and HPC remains underexplored. With the emergence of matrix units on multicore CPUs, we analyze matrix-based…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-07-16 Yinuo Wang , Tianqi Mao , Lin Gan , Wubing Wan , Zeyu Song , Jiayu Fu , Lanke He , Wenqiang Wang , Zekun Yin , Wei Xue , Guangwen Yang

Priority queues are used in a wide range of applications, including prioritized online scheduling, discrete event simulation, and greedy algorithms. In parallel settings, classical priority queues often become a severe bottleneck, resulting…

Data Structures and Algorithms · Computer Science 2025-04-17 Marvin Williams , Peter Sanders

Spike sorting is essential for extracting neuronal information from neural signals and understanding brain function. With the advent of high-density microelectrode arrays (HDMEAs), the challenges and opportunities in multi-channel spike…

Signal Processing · Electrical Eng. & Systems 2024-12-30 Yuntao Han , Shiwei Wang , Alister Hamilton

Multisplit is a broadly useful parallel primitive that permutes its input data into contiguous buckets or bins, where the function that categorizes an element into a bucket is provided by the programmer. Due to the lack of an efficient…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-09-08 Saman Ashkiani , Andrew Davidson , Ulrich Meyer , John D. Owens

Computing string or sequence alignments is a classical method of comparing strings and has applications in many areas of computing, such as signal processing and bioinformatics. Semi-local string alignment is a recent generalisation of this…

Data Structures and Algorithms · Computer Science 2009-03-23 Peter Krusche , Alexander Tiskin

Since its introduction, Word2Vec and its variants are widely used to learn semantics-preserving representations of words or entities in an embedding space, which can be used to produce state-of-art results for various Natural Language…

Computation and Language · Computer Science 2016-06-28 Jeroen B. P. Vuurens , Carsten Eickhoff , Arjen P. de Vries

RSA is one of the most popular Public Key Cryptography based algorithm mainly used for digital signatures, encryption/decryption etc. It is based on the mathematical scheme of factorization of very large integers which is a…

Cryptography and Security · Computer Science 2015-03-13 Sapna Saxena , Bhanu Kapoor

This article describes algorithms for the hybrid parallelization and SIMD vectorization of molecular dynamics simulations with short-range forces. The parallelization method combines domain decomposition with a thread-based parallelization…

Materials Science · Physics 2017-09-13 Chris M. Mangiardi , Ralf Meyer

We demonstrate that general-purpose memory allocation involving many threads on many cores can be done with high performance, multicore scalability, and low memory consumption. For this purpose, we have designed and implemented scalloc, a…

Programming Languages · Computer Science 2015-08-26 Martin Aigner , Christoph M. Kirsch , Michael Lippautz , Ana Sokolova

Computing fixed-radius near-neighbor graphs is an important first step for many data analysis algorithms. Near-neighbor graphs connect points that are close under some metric, endowing point clouds with a combinatorial structure. As…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-10-17 Gabriel Raulet , Dmitriy Morozov , Aydin Buluc , Katherine Yelick

Modern high-end machines feature multiple processor packages, each of which contains multiple independent cores and integrated memory controllers connected directly to dedicated physical RAM. These packages are connected via a shared bus,…

Programming Languages · Computer Science 2011-05-13 Sven Auhagen , Lars Bergstrom , Matthew Fluet , John Reppy

We describe an approach to parallel graph partitioning that scales to hundreds of processors and produces a high solution quality. For example, for many instances from Walshaw's benchmark collection we improve the best known partitioning.…

Distributed, Parallel, and Cluster Computing · Computer Science 2010-04-08 Manuel Holtgrewe , Peter Sanders , Christian Schulz

In this paper, first we give a sequential linear-time algorithm for the longest path problem in meshes. This algorithm can be considered as an improvement of [13]. Then based on this sequential algorithm, we present a constant-time parallel…

Data Structures and Algorithms · Computer Science 2012-01-24 Fatemeh Keshavarz-Kohjerdi , Alireza Bagheri

In this paper we will present a general agglomeration law for sorting networks. Agglomeration is a common technique when designing parallel programmes to control the granularity of the computation thereby finding a better fit between the…

Data Structures and Algorithms · Computer Science 2017-01-04 Lukas Immanuel Schiller

We present shared-memory parallel methods for Maximal Clique Enumeration (MCE) from a graph. MCE is a fundamental and well-studied graph analytics task, and is a widely used primitive for identifying dense structures in a graph. Due to its…

Data Structures and Algorithms · Computer Science 2020-01-30 Apurba Das , Seyed-Vahid Sanei-Mehri , Srikanta Tirthapura

This paper presents an overview of the "Applied Parallel Computing" course taught to final year Software Engineering undergraduate students in Spring 2014 at NUST, Pakistan. The main objective of the course was to introduce practical…

Computers and Society · Computer Science 2014-10-03 Aamir Shafi , Aleem Akhtar , Ansar Javed , Bryan Carpenter

This paper investigates co-scheduling algorithms for processing a set of parallel applications. Instead of executing each application one by one, using a maximum degree of parallelism for each of them, we aim at scheduling several…

Data Structures and Algorithms · Computer Science 2013-05-01 Guillaume Aupy , Manu Shantharam , Anne Benoit , Yves Robert , Padma Raghavan