  Developments in Genome-Wide Association Studies have led to the increasing
notion that future healthcare techniques will be personalized to the patient,
by relying on genetic tests to determine the risk of developing a disease. To
this end, the detection of gene interactions that cause complex diseases
constitutes an important application. Similarly to many applications in this
field, extensive data sets containing genetic information for a series of
patients are used (such as Single-Nucleotide Polymorphisms), leading to high
computational complexity and memory utilization, thus constituting a major
challenge when targeting high-performance execution in modern computing
systems. To close this gap, this work proposes several novel approaches for the
detection of three-way gene interactions in modern CPUs and GPUs, making use of
different optimizations to fully exploit the target architectures. Crucial
insights from the Cache-Aware Roofline Model are used to ensure the suitability
of the applications to the computing devices. An extensive study of the
architectural features of 13 CPU and GPU devices from all main vendors is also
presented, allowing to understand the features relevant to obtain
high-performance in this bioinformatics domain. To the best of our knowledge,
this study is the first to perform such evaluation for epistasis detection. The
proposed approaches are able to surpass the performance of state-of-the-art
works in the tested platforms, achieving an average speedup of 3.9$\times$
(7.3$\times$ on CPUs and 2.8$\times$ on GPUs) and maximum speedup of
10.6$\times$ on Intel UHD P630 GPU.
