AstroBWT CUDA support

This commit is contained in:
SChernykh 2020-04-04 11:05:44 +02:00
parent f19b2f7248
commit 7f01c5c6f3
13 changed files with 214 additions and 7 deletions

View file

@ -70,7 +70,7 @@ xmrig::OclAstroBWTRunner::OclAstroBWTRunner(size_t index, const OclLaunchData &d
m_options += " -DBWT_GROUP_SIZE=" + std::to_string(m_workgroup_size);
m_bwt_allocation_size = static_cast<uint64_t>(m_intensity) * BWT_DATA_STRIDE;
m_batch_size1 = static_cast<uint32_t>(m_bwt_allocation_size / STAGE1_DATA_STRIDE) & ~255U;
m_batch_size1 = static_cast<uint32_t>(m_bwt_allocation_size / STAGE1_DATA_STRIDE + 255U) & ~255U;
m_bwt_data_sizes_host = new uint32_t[m_batch_size1];
}

View file

@ -51,7 +51,7 @@ public:
OclAstroBWTRunner(size_t index, const OclLaunchData &data);
~OclAstroBWTRunner() override;
inline uint32_t roundSize() const override { return m_batch_size1; }
inline uint32_t roundSize() const override { return static_cast<uint32_t>(m_batch_size1); }
// ~0.5% of all hashes are invalid
inline uint32_t processedHashes() const override { return static_cast<uint32_t>(m_processedHashes * 0.995); }
@ -83,7 +83,7 @@ private:
uint32_t m_workgroup_size = 0;
uint64_t m_bwt_allocation_size = 0;
uint64_t m_batch_size1 = 0;
uint32_t m_processedHashes = 0;
uint32_t m_processedHashes = 0;
uint32_t* m_bwt_data_sizes_host = nullptr;
};