diff options
Diffstat (limited to 'ggml-sycl.cpp')
-rw-r--r-- | ggml-sycl.cpp | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/ggml-sycl.cpp b/ggml-sycl.cpp index cfb09934..c2ab1303 100644 --- a/ggml-sycl.cpp +++ b/ggml-sycl.cpp @@ -202,24 +202,29 @@ namespace dpct // Version string has the following format: // a. OpenCL<space><major.minor><space><vendor-specific-information> // b. <major.minor> + // c. <AmdGcnArchName> e.g gfx1030 std::string ver; ver = dev.get_info<sycl::info::device::version>(); std::string::size_type i = 0; - while (i < ver.size()) - { - if (isdigit(ver[i])) - break; - i++; + while (i < ver.size()) { + if (isdigit(ver[i])) + break; + i++; } major = std::stoi(&(ver[i])); - while (i < ver.size()) - { - if (ver[i] == '.') - break; - i++; + while (i < ver.size()) { + if (ver[i] == '.') + break; + i++; + } + if (i < ver.size()) { + // a. and b. + i++; + minor = std::stoi(&(ver[i])); + } else { + // c. + minor = 0; } - i++; - minor = std::stoi(&(ver[i])); } template <typename tag, typename T> |