Merge pull request #100 from UoB-HPC/issue-98

Add check for FP64 support
This commit is contained in:
Tom Deakin 2021-05-18 11:31:36 +01:00 committed by GitHub
commit a209f16c16
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 0 deletions

View File

@ -13,6 +13,7 @@ All notable changes to this project will be documented in this file.
- Support for CUDA Managed Memory and Page Fault memory.
- Added nstream kernel from PRK with associate command line option.
- CMake build system added for all models.
- SYCL device check for FP64 support.
### Changed
- Default branch renamed from `master` to `main`.

View File

@ -28,6 +28,14 @@ SYCLStream<T>::SYCLStream(const int ARRAY_SIZE, const int device_index)
throw std::runtime_error("Invalid device index");
device dev = devices[device_index];
// Check device can support FP64 if needed
if (sizeof(T) == sizeof(double))
{
if (dev.get_info<info::device::double_fp_config>().size() == 0) {
throw std::runtime_error("Device does not support double precision, please use --float");
}
}
// Determine sensible dot kernel NDRange configuration
if (dev.is_cpu())
{