diff options
author | Cedric Nugteren <web@cedricnugteren.nl> | 2016-03-06 16:43:28 +0100 |
---|---|---|
committer | Cedric Nugteren <web@cedricnugteren.nl> | 2016-03-06 16:43:28 +0100 |
commit | f4c09220c196f09a5494378d39e8d7c626e6d377 (patch) | |
tree | 8319bf9498fd88d1ebbd1daff941ee99bdc88786 /src/routines | |
parent | fb58129afbbb4ff758924b9187cac4c954cafd0f (diff) |
Fixed a bug in the GER-family of routines due to incorrect division of the workgroup size
Diffstat (limited to 'src/routines')
-rw-r--r-- | src/routines/level2/xger.cc | 4 | ||||
-rw-r--r-- | src/routines/level2/xher.cc | 4 | ||||
-rw-r--r-- | src/routines/level2/xher2.cc | 4 |
3 files changed, 6 insertions, 6 deletions
diff --git a/src/routines/level2/xger.cc b/src/routines/level2/xger.cc index 0953c8bb..d8fb6b03 100644 --- a/src/routines/level2/xger.cc +++ b/src/routines/level2/xger.cc @@ -85,8 +85,8 @@ StatusCode Xger<T>::DoGer(const Layout layout, kernel.SetArgument(12, static_cast<int>(a_is_rowmajor)); // Launches the kernel - auto a_one_ceiled = CeilDiv(Ceil(a_one, db_["WGS1"]), db_["WPT"]); - auto a_two_ceiled = CeilDiv(Ceil(a_two, db_["WGS2"]), db_["WPT"]); + auto a_one_ceiled = Ceil(CeilDiv(a_one, db_["WPT"]), db_["WGS1"]); + auto a_two_ceiled = Ceil(CeilDiv(a_two, db_["WPT"]), db_["WGS2"]); auto global = std::vector<size_t>{a_one_ceiled, a_two_ceiled}; auto local = std::vector<size_t>{db_["WGS1"], db_["WGS2"]}; status = RunKernel(kernel, global, local); diff --git a/src/routines/level2/xher.cc b/src/routines/level2/xher.cc index 5eca44b0..c025117b 100644 --- a/src/routines/level2/xher.cc +++ b/src/routines/level2/xher.cc @@ -95,8 +95,8 @@ StatusCode Xher<T,U>::DoHer(const Layout layout, const Triangle triangle, kernel.SetArgument(9, static_cast<int>(is_rowmajor)); // Launches the kernel - auto global_one = CeilDiv(Ceil(n, db_["WGS1"]), db_["WPT"]); - auto global_two = CeilDiv(Ceil(n, db_["WGS2"]), db_["WPT"]); + auto global_one = Ceil(CeilDiv(n, db_["WPT"]), db_["WGS1"]); + auto global_two = Ceil(CeilDiv(n, db_["WPT"]), db_["WGS2"]); auto global = std::vector<size_t>{global_one, global_two}; auto local = std::vector<size_t>{db_["WGS1"], db_["WGS2"]}; status = RunKernel(kernel, global, local); diff --git a/src/routines/level2/xher2.cc b/src/routines/level2/xher2.cc index 63144f77..bfa84d18 100644 --- a/src/routines/level2/xher2.cc +++ b/src/routines/level2/xher2.cc @@ -87,8 +87,8 @@ StatusCode Xher2<T>::DoHer2(const Layout layout, const Triangle triangle, kernel.SetArgument(12, static_cast<int>(is_rowmajor)); // Launches the kernel - auto global_one = CeilDiv(Ceil(n, db_["WGS1"]), db_["WPT"]); - auto global_two = CeilDiv(Ceil(n, db_["WGS2"]), db_["WPT"]); + auto global_one = Ceil(CeilDiv(n, db_["WPT"]), db_["WGS1"]); + auto global_two = Ceil(CeilDiv(n, db_["WPT"]), db_["WGS2"]); auto global = std::vector<size_t>{global_one, global_two}; auto local = std::vector<size_t>{db_["WGS1"], db_["WGS2"]}; status = RunKernel(kernel, global, local); |