File tree Expand file tree Collapse file tree 2 files changed +31
-1
lines changed Expand file tree Collapse file tree 2 files changed +31
-1
lines changed Original file line number Diff line number Diff line change 99import logging
1010import os
1111import platform as plt
12+ import re
13+ from typing import Tuple
1214
1315import dpctl
1416import llvmlite .binding as ll
@@ -59,7 +61,22 @@ def load_dpctl_sycl_interface():
5961 Vectorize .target_registry .ondemand ["dpex" ] = lambda : DpexVectorize
6062
6163
62- numba_version = tuple (map (int , numba .__version__ .split ("." )[:3 ]))
64+ def parse_sem_version (version_string : str ) -> Tuple [int , int , int ]:
65+ """Parse sem version into tuple of three integers. If there is a suffix like
66+ rc1, dev0 - it will be ignored."""
67+ return tuple (
68+ map (
69+ int ,
70+ re .sub (
71+ "([0-9]+\\ .[0-9]+\\ .[0-9]+).*" ,
72+ "\\ g<1>" ,
73+ version_string ,
74+ ).split ("." )[:3 ],
75+ )
76+ )
77+
78+
79+ numba_version = parse_sem_version (numba .__version__ )
6380if numba_version < (0 , 56 , 4 ):
6481 logging .warning (
6582 "numba_dpex needs numba 0.56.4, using "
Original file line number Diff line number Diff line change 1+ # SPDX-FileCopyrightText: 2020 - 2023 Intel Corporation
2+ #
3+ # SPDX-License-Identifier: Apache-2.0
4+
5+ from numba_dpex import parse_sem_version
6+
7+
8+ class TestParseSemVersion :
9+ def test_parse_sem_version (self ):
10+ assert parse_sem_version ("0.56.4" ) == (0 , 56 , 4 )
11+ assert parse_sem_version ("0.57.0" ) == (0 , 57 , 0 )
12+ assert parse_sem_version ("0.57.0rc1" ) == (0 , 57 , 0 )
13+ assert parse_sem_version ("0.58.1dev0" ) == (0 , 58 , 1 )
You can’t perform that action at this time.
0 commit comments