diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-03-20 09:51:48 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-03-20 09:51:48 +0000 |
commit | cdbec799d9babdfc9b69d65c0ce052728c01b449 (patch) | |
tree | eeb20b841be5f25fcf659d6cb5cb79e561131fdc /vespalib | |
parent | 0872d6ae54cd64ceb2762a0e326ae962b3834427 (diff) |
Stick with one way of getting an accelrator.
Diffstat (limited to 'vespalib')
-rw-r--r-- | vespalib/src/tests/dotproduct/dotproductbenchmark.cpp | 6 | ||||
-rw-r--r-- | vespalib/src/vespa/vespalib/hwaccelrated/iaccelrated.cpp | 13 | ||||
-rw-r--r-- | vespalib/src/vespa/vespalib/hwaccelrated/iaccelrated.h | 1 |
3 files changed, 6 insertions, 14 deletions
diff --git a/vespalib/src/tests/dotproduct/dotproductbenchmark.cpp b/vespalib/src/tests/dotproduct/dotproductbenchmark.cpp index 5b75fb46a41..d6e1aef9394 100644 --- a/vespalib/src/tests/dotproduct/dotproductbenchmark.cpp +++ b/vespalib/src/tests/dotproduct/dotproductbenchmark.cpp @@ -48,19 +48,19 @@ public: FullBenchmark(size_t numDocs, size_t numValue); ~FullBenchmark(); void compute(size_t docId) const override { - _dp->dotProduct(&_query[0], &_values[docId * _query.size()], _query.size()); + _dp.dotProduct(&_query[0], &_values[docId * _query.size()], _query.size()); } private: std::vector<T> _values; std::vector<T> _query; - IAccelrated::UP _dp; + const IAccelrated & _dp; }; template <typename T> FullBenchmark<T>::FullBenchmark(size_t numDocs, size_t numValues) : _values(numDocs*numValues), _query(numValues), - _dp(IAccelrated::createAccelrator()) + _dp(IAccelrated::getAccelrator()) { for (size_t i(0); i < numDocs; i++) { for (size_t j(0); j < numValues; j++) { diff --git a/vespalib/src/vespa/vespalib/hwaccelrated/iaccelrated.cpp b/vespalib/src/vespa/vespalib/hwaccelrated/iaccelrated.cpp index 9d5256d79b2..bb132165e53 100644 --- a/vespalib/src/vespa/vespalib/hwaccelrated/iaccelrated.cpp +++ b/vespalib/src/vespa/vespalib/hwaccelrated/iaccelrated.cpp @@ -106,7 +106,7 @@ class RuntimeVerificator public: RuntimeVerificator(); private: - void verify(IAccelrated & accelrated) { + void verify(const IAccelrated & accelrated) { verifyDotproduct<float>(accelrated); verifyDotproduct<double>(accelrated); verifyDotproduct<int32_t>(accelrated); @@ -122,8 +122,8 @@ RuntimeVerificator::RuntimeVerificator() GenericAccelrator generic; verify(generic); - IAccelrated::UP thisCpu(IAccelrated::createAccelrator()); - verify(*thisCpu); + const IAccelrated & thisCpu(IAccelrated::getAccelrator()); + verify(thisCpu); } class Selector @@ -154,13 +154,6 @@ static Selector _G_selector; RuntimeVerificator _G_verifyAccelrator; - -IAccelrated::UP -IAccelrated::createAccelrator() -{ - return _G_selector.create(); -} - const IAccelrated & IAccelrated::getAccelrator() { diff --git a/vespalib/src/vespa/vespalib/hwaccelrated/iaccelrated.h b/vespalib/src/vespa/vespalib/hwaccelrated/iaccelrated.h index 0647aca784f..0292ad14643 100644 --- a/vespalib/src/vespa/vespalib/hwaccelrated/iaccelrated.h +++ b/vespalib/src/vespa/vespalib/hwaccelrated/iaccelrated.h @@ -30,7 +30,6 @@ public: virtual double squaredEuclideanDistance(const float * a, const float * b, size_t sz) const = 0; virtual double squaredEuclideanDistance(const double * a, const double * b, size_t sz) const = 0; - static IAccelrated::UP createAccelrator() __attribute__((noinline)); static const IAccelrated & getAccelrator() __attribute__((noinline)); }; |