Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MISC] rename align_cfg::vectorise to align_cfg::vectorised #2026

Merged
merged 3 commits into from
Aug 13, 2020
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ Note that 3.1.0 will be the first API stable release and interfaces in this rele
* The seqan3::align_cfg::mode configuration has been adapted. The algorithm can now be configured using one of the
pipeable configuration elements seqan3::align_cfg::method_global or seqan3::align_cfg::method_local
([\#1918](https://github.com/seqan/seqan3/pull/1918).
* The `seqan3::align_cfg::vectorise` configuration has been renamed to `seqan3::align_cfg::vectorised`.

### Core

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
// -----------------------------------------------------------------------------------------------------

/*!\file
* \brief Provides seqan3::align_cfg::vectorise configuration.
* \brief Provides seqan3::align_cfg::vectorised configuration.
* \author Jörg Winkler <j.winkler AT fu-berlin.de>
* \author Lydia Buntrock <lydia.buntrock AT fu-berlin.de>
*/
Expand All @@ -23,10 +23,10 @@ namespace seqan3::detail
/*!\brief A tag to select the vectorised alignment algorithm.
* \ingroup alignment_configuration
*/
struct vectorise_tag : public pipeable_config_element<vectorise_tag>
struct vectorised_tag : public pipeable_config_element<vectorised_tag>
{
//!\brief Internal id to check for consistent configuration settings.
static constexpr detail::align_config_id id{detail::align_config_id::vectorise};
static constexpr detail::align_config_id id{detail::align_config_id::vectorised};
};

} // namespace seqan3::detail
Expand All @@ -50,8 +50,8 @@ namespace seqan3::align_cfg
*
* ### Example
*
* \include test/snippet/alignment/configuration/align_cfg_vectorise_example.cpp
* \include test/snippet/alignment/configuration/align_cfg_vectorised_example.cpp
*/
inline constexpr detail::vectorise_tag vectorise{};
inline constexpr detail::vectorised_tag vectorised{};

} // namespace seqan3::align_cfg
2 changes: 1 addition & 1 deletion include/seqan3/alignment/configuration/all.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
#include <seqan3/alignment/configuration/align_config_parallel.hpp>
#include <seqan3/alignment/configuration/align_config_result.hpp>
#include <seqan3/alignment/configuration/align_config_scoring.hpp>
#include <seqan3/alignment/configuration/align_config_vectorise.hpp>
#include <seqan3/alignment/configuration/align_config_vectorised.hpp>
#include <seqan3/alignment/configuration/detail.hpp>

/*!\namespace seqan3::align_cfg
Expand Down
4 changes: 2 additions & 2 deletions include/seqan3/alignment/configuration/detail.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ enum struct align_config_id : uint8_t
parallel, //!< ID for the \ref seqan3::align_cfg::parallel "parallel" option.
result, //!< ID for the \ref seqan3::align_cfg::result "result" option.
scoring, //!< ID for the \ref seqan3::align_cfg::scoring "scoring" option.
vectorise, //!< ID for the \ref seqan3::align_cfg::vectorise "vectorise" option.
vectorised, //!< ID for the \ref seqan3::align_cfg::vectorised "vectorised" option.
SIZE //!< Represents the number of configuration elements.
};

Expand Down Expand Up @@ -65,7 +65,7 @@ inline constexpr std::array<std::array<bool, static_cast<uint8_t>(align_config_i
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1}, // 9: parallel
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1}, // 10: result
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1}, // 11: scoring
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0} // 12: vectorise
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0} // 12: vectorised
}
};

Expand Down
8 changes: 4 additions & 4 deletions include/seqan3/alignment/pairwise/align_pairwise.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,10 @@ namespace seqan3
* ### Accessing the alignment results
*
* For each sequence pair one or more \ref seqan3::alignment_result "seqan3::alignment_result"s can be computed.
* The seqan3::align_pairwise function returns an seqan3::algorithm_result_generator_range which can be used to iterate over the
* alignments. If the `vectorise` configurations are omitted the alignments are computed on-demand when iterating over
* the results. In case of a parallel execution all alignments are computed at once in parallel when calling `begin` on
* the associated seqan3::algorithm_result_generator_range.
* The seqan3::align_pairwise function returns an seqan3::algorithm_result_generator_range which can be used to iterate
* over the alignments. If the `vectorised` configurations are omitted the alignments are computed on-demand when
* iterating over the results. In case of a parallel execution all alignments are computed at once in parallel when
* calling `begin` on the associated seqan3::algorithm_result_generator_range.
*
* The following snippets demonstrate the single element and the range based interface.
*
Expand Down
4 changes: 2 additions & 2 deletions include/seqan3/alignment/pairwise/detail/type_traits.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
#include <seqan3/alignment/configuration/align_config_parallel.hpp>
#include <seqan3/alignment/configuration/align_config_result.hpp>
#include <seqan3/alignment/configuration/align_config_scoring.hpp>
#include <seqan3/alignment/configuration/align_config_vectorise.hpp>
#include <seqan3/alignment/configuration/align_config_vectorised.hpp>
#include <seqan3/alignment/matrix/detail/matrix_coordinate.hpp>
#include <seqan3/alignment/matrix/trace_directions.hpp>
#include <seqan3/alignment/pairwise/detail/concept.hpp>
Expand Down Expand Up @@ -117,7 +117,7 @@ struct alignment_configuration_traits
public:
//!\brief Flag to indicate vectorised mode.
static constexpr bool is_vectorised =
configuration_t::template exists<remove_cvref_t<decltype(align_cfg::vectorise)>>();
configuration_t::template exists<remove_cvref_t<decltype(align_cfg::vectorised)>>();
//!\brief Flag indicating whether parallel alignment mode is enabled.
static constexpr bool is_parallel = configuration_t::template exists<align_cfg::parallel>();
//!\brief Flag indicating whether global alignment method is enabled.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,29 +77,29 @@ void seqan3_affine_dna4_accelerated(benchmark::State & state, align_configs_t &&
BENCHMARK_CAPTURE(seqan3_affine_dna4_accelerated,
simd_with_score,
seqan3::align_cfg::result{seqan3::with_score, seqan3::using_score_type<int16_t>},
seqan3::align_cfg::vectorise)
seqan3::align_cfg::vectorised)
->UseRealTime()
->DenseRange(deviation_begin, deviation_end, deviation_step);

BENCHMARK_CAPTURE(seqan3_affine_dna4_accelerated,
simd_with_end_position,
seqan3::align_cfg::result{seqan3::with_end_positions, seqan3::using_score_type<int16_t>},
seqan3::align_cfg::vectorise)
seqan3::align_cfg::vectorised)
->UseRealTime()
->DenseRange(deviation_begin, deviation_end, deviation_step);

BENCHMARK_CAPTURE(seqan3_affine_dna4_accelerated,
simd_parallel_with_score,
seqan3::align_cfg::result{seqan3::with_score, seqan3::using_score_type<int16_t>},
seqan3::align_cfg::vectorise,
seqan3::align_cfg::vectorised,
seqan3::align_cfg::parallel{get_number_of_threads()})
->UseRealTime()
->DenseRange(deviation_begin, deviation_end, deviation_step);

BENCHMARK_CAPTURE(seqan3_affine_dna4_accelerated,
simd_parallel_with_end_position,
seqan3::align_cfg::result{seqan3::with_end_positions, seqan3::using_score_type<int16_t>},
seqan3::align_cfg::vectorise,
seqan3::align_cfg::vectorised,
seqan3::align_cfg::parallel{get_number_of_threads()})
->UseRealTime()
->DenseRange(deviation_begin, deviation_end, deviation_step);
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#include <seqan3/alignment/configuration/align_config_vectorised.hpp>

int main()
{
// Enable SIMD vectorised alignment computation.
auto cfg = seqan3::align_cfg::vectorised;
}
2 changes: 1 addition & 1 deletion test/unit/alignment/configuration/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ seqan3_test(align_config_method_test.cpp)
seqan3_test(align_config_on_result_test.cpp)
seqan3_test(align_config_result_test.cpp)
seqan3_test(align_config_scoring_test.cpp)
seqan3_test(align_config_vectorise_test.cpp)
seqan3_test(align_config_vectorised_test.cpp)
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ using test_types = ::testing::Types<seqan3::align_cfg::aligned_ends<std::remove_
seqan3::align_cfg::parallel,
seqan3::align_cfg::result<>,
seqan3::align_cfg::scoring<seqan3::nucleotide_scoring_scheme<int8_t>>,
seqan3::detail::vectorise_tag,
seqan3::detail::vectorised_tag,
seqan3::detail::alignment_result_capture_element<alignment_result_t>>;

TYPED_TEST_SUITE(alignment_configuration_test, test_types, );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@
#include <functional>
#include <type_traits>

#include <seqan3/alignment/configuration/align_config_vectorise.hpp>
#include <seqan3/alignment/configuration/align_config_vectorised.hpp>
#include <seqan3/core/algorithm/configuration.hpp>

TEST(align_config_vectorise, config_element)
TEST(align_config_vectorised, config_element)
{
seqan3::configuration cfg{seqan3::align_cfg::vectorise};
EXPECT_TRUE(decltype(cfg)::template exists<seqan3::detail::vectorise_tag>());
seqan3::configuration cfg{seqan3::align_cfg::vectorised};
EXPECT_TRUE(decltype(cfg)::template exists<seqan3::detail::vectorised_tag>());
}
4 changes: 2 additions & 2 deletions test/unit/alignment/pairwise/align_pairwise_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@ using seqan3::operator""_dna4;
template <typename t>
struct align_pairwise_test : ::testing::Test
{
// two helper variables to check if the TypeParam contains vectorise.
// two helper variables to check if the TypeParam contains vectorised.
using dummy_cfg_t = std::conditional_t<std::is_same_v<void, t>,
decltype(seqan3::align_cfg::max_error{1}),
t>;
using config_t = decltype(seqan3::align_cfg::method_global{} | seqan3::align_cfg::edit_scheme | dummy_cfg_t{});

static constexpr bool is_vectorised = config_t::template exists<seqan3::detail::vectorise_tag>();
static constexpr bool is_vectorised = config_t::template exists<seqan3::detail::vectorised_tag>();
};

using testing_types = ::testing::Types<void,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ static auto dna4_all_same = []()
for (size_t i = 0; i < 100; ++i)
data.push_back(base_fixture);

return alignment_fixture_collection{base_fixture.config | seqan3::align_cfg::vectorise, data};
return alignment_fixture_collection{base_fixture.config | seqan3::align_cfg::vectorised, data};
}();

static auto dna4_different_length = []()
Expand All @@ -47,7 +47,7 @@ static auto dna4_different_length = []()
data.push_back(base_fixture_04);
}

return alignment_fixture_collection{base_fixture_01.config | seqan3::align_cfg::vectorise, data};
return alignment_fixture_collection{base_fixture_01.config | seqan3::align_cfg::vectorised, data};
}();

static auto dna4_with_empty_sequences = []()
Expand All @@ -72,7 +72,7 @@ static auto dna4_with_empty_sequences = []()
data.push_back(base_fixture_06);
}

return alignment_fixture_collection{base_fixture_01.config | seqan3::align_cfg::vectorise, data};
return alignment_fixture_collection{base_fixture_01.config | seqan3::align_cfg::vectorised, data};
}();

} // namespace seqan3::test::alignment::collection::simd::global::affine::unbanded
Expand Down