SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
seqan3::align_cfg::vectorised Class Reference

Enables the vectorised alignment computation if possible for the current configuration. More...

#include <seqan3/alignment/configuration/align_config_vectorised.hpp>

+ Inheritance diagram for seqan3::align_cfg::vectorised:

Public Member Functions

Constructor, destructor and assignment
constexpr vectorised ()=default
 Defaulted.
 
constexpr vectorised (vectorised const &)=default
 Defaulted.
 
constexpr vectorised (vectorised &&)=default
 Defaulted.
 
constexpr vectorisedoperator= (vectorised const &)=default
 Defaulted.
 
constexpr vectorisedoperator= (vectorised &&)=default
 Defaulted.
 
 ~vectorised ()=default
 Defaulted.
 

Detailed Description

Enables the vectorised alignment computation if possible for the current configuration.

In the vectorised alignment computation several pairwise sequence alignments are processed simultaneously in one invocation. To do so, we pack the alignments in so called extended SIMD registers which allow to compute a single instruction on multiple data at the same time. Depending on your processor architecture you can gain a significant speed-up, e.g. by running up to 64 alignments in parallel on the latest intel CPUs. In our mode we vectorise multiple alignments and not a single alignment. This means that you should provide many sequences to compute as one batch rather than computing them separately as there won't be performance gains.

See also
For further information on SIMD see https://en.wikipedia.org/wiki/SIMD.

Example

// SPDX-FileCopyrightText: 2006-2024 Knut Reinert & Freie Universität Berlin
// SPDX-FileCopyrightText: 2016-2024 Knut Reinert & MPI für molekulare Genetik
// SPDX-License-Identifier: CC0-1.0
int main()
{
// Enable SIMD vectorised alignment computation.
}
Provides seqan3::align_cfg::vectorised configuration.
Enables the vectorised alignment computation if possible for the current configuration.
Definition align_config_vectorised.hpp:39

The documentation for this class was generated from the following file:
Hide me