We introduce a new platform-portable hash table and collision-resolution approach, HashFight, for use in visualization and data analysis algorithms. Designed entirely in terms of dataparallel primitives (DPPs), HashFight is atomics-free and consists of a single code base that can be invoked across a diverse range of architectures. To evaluate its hashing performance, we compare the single-node insert and query throughput of Hash- Fight to that of two best-in-class GPU and CPU hash table implementations, using several experimental configurations and factors. Overall, HashFight maintains competitive performance across both modern and older generation GPU and CPU devices, which differ in computational and memory abilities. In particular, HashFight achieves stable performance across all hash table sizes, and has leading query throughput for the largest sets of queries, while remaining within a factor of 1.5X of the comparator GPU implementation on all smaller query sets. Moreover, HashFight performs better than the comparator CPU implementation across all configurations. Our findings reveal that our platform-agnostic implementation can perform as well as optimized, platform-specific implementations, which demonstrates the portable performance of our DPP-based design.
The HPE Cognitive Computing Toolkit (CCT) is an opensource modeling platform backed by Hewlett Packard Enterprise. CCT provides a domain-specific language designed for problems like vision modeling and deep learning. The CCT platform compiles programs written in this language to native graphics processor (GPU) code. Developing vision models in CCT is far simpler and more productive than writing GPU code directly, but without sacrificing the performance gains of GPU acceleration. This programming model scales to interesting problems like dense optic flow, anisotropic diffusion, and deep learning. CCT is particularly powerful when combining multiple state-of-the-art techniques in a single algorithm.