Skip to content

Commit 4757b68

Browse files
Removed enums public interface
1 parent 0a1b1c2 commit 4757b68

File tree

2 files changed

+17
-177
lines changed

2 files changed

+17
-177
lines changed

mkl-service/_mkl_service.pyx

Lines changed: 14 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -25,84 +25,9 @@
2525

2626

2727
cimport _mkl_service as mkl
28-
from enum import IntEnum
29-
30-
31-
class enums(IntEnum):
32-
# MKL Function Domains Constants
33-
MKL_DOMAIN_BLAS = mkl.MKL_DOMAIN_BLAS
34-
MKL_DOMAIN_FFT = mkl.MKL_DOMAIN_FFT
35-
MKL_DOMAIN_VML = mkl.MKL_DOMAIN_VML
36-
MKL_DOMAIN_PARDISO = mkl.MKL_DOMAIN_PARDISO
37-
MKL_DOMAIN_ALL = mkl.MKL_DOMAIN_ALL
38-
39-
# MKL Peak Memory Usage Constants
40-
MKL_PEAK_MEM_ENABLE = mkl.MKL_PEAK_MEM_ENABLE
41-
MKL_PEAK_MEM_DISABLE = mkl.MKL_PEAK_MEM_DISABLE
42-
MKL_PEAK_MEM = mkl.MKL_PEAK_MEM
43-
MKL_PEAK_MEM_RESET = mkl.MKL_PEAK_MEM_RESET
44-
45-
# CNR Control Constants
46-
MKL_CBWR_AUTO = mkl.MKL_CBWR_AUTO
47-
MKL_CBWR_COMPATIBLE = mkl.MKL_CBWR_COMPATIBLE
48-
MKL_CBWR_SSE2 = mkl.MKL_CBWR_SSE2
49-
MKL_CBWR_SSE3 = mkl.MKL_CBWR_SSE3
50-
MKL_CBWR_SSSE3 = mkl.MKL_CBWR_SSSE3
51-
MKL_CBWR_SSE4_1 = mkl.MKL_CBWR_SSE4_1
52-
MKL_CBWR_SSE4_2 = mkl.MKL_CBWR_SSE4_2
53-
MKL_CBWR_AVX = mkl.MKL_CBWR_AVX
54-
MKL_CBWR_AVX2 = mkl.MKL_CBWR_AVX2
55-
MKL_CBWR_AVX512_MIC = mkl.MKL_CBWR_AVX512_MIC
56-
MKL_CBWR_AVX512 = mkl.MKL_CBWR_AVX512_MIC
57-
MKL_CBWR_BRANCH = mkl.MKL_CBWR_BRANCH
58-
MKL_CBWR_ALL = mkl.MKL_CBWR_ALL
59-
MKL_CBWR_SUCCESS = mkl.MKL_CBWR_SUCCESS
60-
MKL_CBWR_BRANCH_OFF = mkl.MKL_CBWR_BRANCH_OFF
61-
MKL_CBWR_ERR_INVALID_INPUT = mkl.MKL_CBWR_ERR_INVALID_INPUT
62-
MKL_CBWR_ERR_UNSUPPORTED_BRANCH = mkl.MKL_CBWR_ERR_UNSUPPORTED_BRANCH
63-
MKL_CBWR_ERR_MODE_CHANGE_FAILURE = mkl.MKL_CBWR_ERR_MODE_CHANGE_FAILURE
64-
65-
# ISA Constants
66-
MKL_ENABLE_AVX512_MIC_E1 = mkl.MKL_ENABLE_AVX512_MIC_E1
67-
MKL_ENABLE_AVX512 = mkl.MKL_ENABLE_AVX512
68-
MKL_ENABLE_AVX512_MIC = mkl.MKL_ENABLE_AVX512_MIC
69-
MKL_ENABLE_AVX2 = mkl.MKL_ENABLE_AVX2
70-
MKL_ENABLE_AVX = mkl.MKL_ENABLE_AVX
71-
MKL_ENABLE_SSE4_2 = mkl.MKL_ENABLE_SSE4_2
72-
73-
# MPI Implementation Constants
74-
MKL_BLACS_CUSTOM = mkl.MKL_BLACS_CUSTOM
75-
MKL_BLACS_MSMPI = mkl.MKL_BLACS_MSMPI
76-
MKL_BLACS_INTELMPI = mkl.MKL_BLACS_INTELMPI
77-
MKL_BLACS_MPICH2 = mkl.MKL_BLACS_MPICH2
78-
79-
# unsigned int vmlSetMode(unsigned int mode)
80-
# In
81-
VML_HA = mkl.VML_HA
82-
VML_LA = mkl.VML_LA
83-
VML_EP = mkl.VML_EP
84-
VML_FTZDAZ_ON = mkl.VML_FTZDAZ_ON
85-
VML_FTZDAZ_OFF = mkl.VML_FTZDAZ_OFF
86-
VML_ERRMODE_IGNORE = mkl.VML_ERRMODE_IGNORE
87-
VML_ERRMODE_ERRNO = mkl.VML_ERRMODE_ERRNO
88-
VML_ERRMODE_STDERR = mkl.VML_ERRMODE_STDERR
89-
VML_ERRMODE_EXCEPT = mkl.VML_ERRMODE_EXCEPT
90-
VML_ERRMODE_CALLBACK = mkl.VML_ERRMODE_CALLBACK
91-
VML_ERRMODE_DEFAULT = mkl.VML_ERRMODE_DEFAULT
92-
93-
# int vmlSetErrStatus(const MKL_INT status)
94-
# In
95-
VML_STATUS_OK = mkl.VML_STATUS_OK
96-
VML_STATUS_ACCURACYWARNING = mkl.VML_STATUS_ACCURACYWARNING
97-
VML_STATUS_BADSIZE = mkl.VML_STATUS_BADSIZE
98-
VML_STATUS_BADMEM = mkl.VML_STATUS_BADMEM
99-
VML_STATUS_ERRDOM = mkl.VML_STATUS_ERRDOM
100-
VML_STATUS_SING = mkl.VML_STATUS_SING
101-
VML_STATUS_OVERFLOW = mkl.VML_STATUS_OVERFLOW
102-
VML_STATUS_UNDERFLOW = mkl.VML_STATUS_UNDERFLOW
103-
104-
105-
def __str_or_enum_to_mkl_int(variable, possible_variables_dict):
28+
29+
30+
def __mkl_str_to_int(variable, possible_variables_dict):
10631
assert(variable is not None)
10732
assert(possible_variables_dict is not None)
10833

@@ -111,11 +36,6 @@ def __str_or_enum_to_mkl_int(variable, possible_variables_dict):
11136
if variable_type is str:
11237
assert(variable in possible_variables_dict.keys()), 'Variable: <' + str(variable) + '> not in ' + str(possible_variables_dict)
11338
mkl_variable = possible_variables_dict[variable]
114-
else:
115-
assert(issubclass(variable_type, IntEnum))
116-
assert(type(variable.value) is int)
117-
assert(variable.value in possible_variables_dict.values()), 'Variable: <' + str(variable) + '> not in ' + str(possible_variables_dict)
118-
mkl_variable = variable.value
11939

12040
return mkl_variable
12141

@@ -189,7 +109,7 @@ def domain_set_num_threads(num_threads, domain='all'):
189109
}
190110
assert(type(num_threads) is int)
191111
assert(num_threads >= 0)
192-
mkl_domain = __str_or_enum_to_mkl_int(domain, __variables['input'])
112+
mkl_domain = __mkl_str_to_int(domain, __variables['input'])
193113

194114
mkl_status = mkl.mkl_domain_set_num_threads(num_threads, mkl_domain)
195115

@@ -255,7 +175,7 @@ def domain_get_max_threads(domain='all'):
255175
},
256176
'output': None,
257177
}
258-
mkl_domain = __str_or_enum_to_mkl_int(domain, __variables['input'])
178+
mkl_domain = __mkl_str_to_int(domain, __variables['input'])
259179

260180
num_threads = mkl.mkl_domain_get_max_threads(mkl_domain)
261181

@@ -380,7 +300,7 @@ def peak_mem_usage(mem_const):
380300
},
381301
'output': None,
382302
}
383-
mkl_mem_const = __str_or_enum_to_mkl_int(mem_const, __variables['input'])
303+
mkl_mem_const = __mkl_str_to_int(mem_const, __variables['input'])
384304

385305
memory_allocator = mkl.mkl_peak_mem_usage(mkl_mem_const)
386306

@@ -444,7 +364,7 @@ def cbwr_set(branch=None):
444364
mkl.MKL_CBWR_ERR_MODE_CHANGE_FAILURE: 'err_mode_change_failure',
445365
},
446366
}
447-
mkl_branch = __str_or_enum_to_mkl_int(branch, __variables['input'])
367+
mkl_branch = __mkl_str_to_int(branch, __variables['input'])
448368

449369
mkl_status = mkl.mkl_cbwr_set(mkl_branch)
450370

@@ -469,7 +389,7 @@ def cbwr_get(cnr_const=None):
469389
},
470390
}
471391
__variables['output'].update({value: key for key, value in __mkl_cbwr_const.items()})
472-
mkl_cnr_const = __str_or_enum_to_mkl_int(cnr_const, __variables['input'])
392+
mkl_cnr_const = __mkl_str_to_int(cnr_const, __variables['input'])
473393

474394
mkl_status = mkl.mkl_cbwr_get(mkl_cnr_const)
475395

@@ -514,7 +434,7 @@ def enable_instructions(isa=None):
514434
1: 'success',
515435
},
516436
}
517-
mkl_isa = __str_or_enum_to_mkl_int(isa, __variables['input'])
437+
mkl_isa = __mkl_str_to_int(isa, __variables['input'])
518438

519439
mkl_status = mkl.mkl_enable_instructions(mkl_isa)
520440

@@ -586,7 +506,7 @@ def set_mpi(vendor, custom_library_name):
586506
-3: 'MPI library cannot be set at this point',
587507
},
588508
}
589-
mkl_vendor = __str_or_enum_to_mkl_int(vendor, __variables['input'])
509+
mkl_vendor = __mkl_str_to_int(vendor, __variables['input'])
590510

591511
cdef bytes c_bytes = custom_library_name.encode()
592512
cdef char* c_string = c_bytes
@@ -634,9 +554,9 @@ def vml_set_mode(accuracy, ftzdaz, errmode):
634554
__variables['output']['accuracy'].update({value: key for key, value in __mkl_vml_mode['accuracy'].items()})
635555
__variables['output']['ftzdaz'].update({value: key for key, value in __mkl_vml_mode['ftzdaz'].items()})
636556
__variables['output']['errmode'].update({value: key for key, value in __mkl_vml_mode['errmode'].items()})
637-
mkl_accuracy = __str_or_enum_to_mkl_int(accuracy, __variables['input']['accuracy'])
638-
mkl_ftzdaz = __str_or_enum_to_mkl_int(ftzdaz, __variables['input']['ftzdaz'])
639-
mkl_errmode = __str_or_enum_to_mkl_int(errmode, __variables['input']['errmode'])
557+
mkl_accuracy = __mkl_str_to_int(accuracy, __variables['input']['accuracy'])
558+
mkl_ftzdaz = __mkl_str_to_int(ftzdaz, __variables['input']['ftzdaz'])
559+
mkl_errmode = __mkl_str_to_int(errmode, __variables['input']['errmode'])
640560

641561
status = mkl.vmlSetMode(mkl_accuracy | mkl_ftzdaz | mkl_errmode)
642562

@@ -693,7 +613,7 @@ def vml_set_err_status(status):
693613
'output': {},
694614
}
695615
__variables['output'].update({value: key for key, value in __mkl_vml_status.items()})
696-
mkl_status_in = __str_or_enum_to_mkl_int(status, __variables['input'])
616+
mkl_status_in = __mkl_str_to_int(status, __variables['input'])
697617

698618
mkl_status_out = mkl.vmlSetErrStatus(mkl_status_in)
699619

mkl-service/tests/test_mkl_service.py

100755100644
Lines changed: 3 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -61,26 +61,6 @@ def test_domain_set_num_threads_str_all(self):
6161
status = mkl.domain_set_num_threads(4, domain='all')
6262
assert(status == 'success')
6363

64-
def test_domain_set_num_threads_enum_blas(self):
65-
status = mkl.domain_set_num_threads(4, domain=mkl.enums.MKL_DOMAIN_BLAS)
66-
assert(status == 'success')
67-
68-
def test_domain_set_num_threads_enum_fft(self):
69-
status = mkl.domain_set_num_threads(4, domain=mkl.enums.MKL_DOMAIN_FFT)
70-
assert(status == 'success')
71-
72-
def test_domain_set_num_threads_enum_vml(self):
73-
status = mkl.domain_set_num_threads(4, domain=mkl.enums.MKL_DOMAIN_VML)
74-
assert(status == 'success')
75-
76-
def test_domain_set_num_threads_enum_pardiso(self):
77-
status = mkl.domain_set_num_threads(4, domain=mkl.enums.MKL_DOMAIN_PARDISO)
78-
assert(status == 'success')
79-
80-
def test_domain_set_num_threads_enum_all(self):
81-
status = mkl.domain_set_num_threads(4, domain=mkl.enums.MKL_DOMAIN_ALL)
82-
assert(status == 'success')
83-
8464
def test_set_num_threads_local(self):
8565
mkl.set_num_threads(1)
8666
status = mkl.set_num_threads_local(2)
@@ -113,21 +93,6 @@ def test_domain_get_max_threads_str_pardiso(self):
11393
def test_domain_get_max_threads_str_all(self):
11494
mkl.domain_get_max_threads(domain='all')
11595

116-
def test_domain_get_max_threads_enum_blas(self):
117-
mkl.domain_get_max_threads(domain=mkl.enums.MKL_DOMAIN_BLAS)
118-
119-
def test_domain_get_max_threads_enum_fft(self):
120-
mkl.domain_get_max_threads(domain=mkl.enums.MKL_DOMAIN_FFT)
121-
122-
def test_domain_get_max_threads_enum_vml(self):
123-
mkl.domain_get_max_threads(domain=mkl.enums.MKL_DOMAIN_VML)
124-
125-
def test_domain_get_max_threads_enum_pardiso(self):
126-
mkl.domain_get_max_threads(domain=mkl.enums.MKL_DOMAIN_PARDISO)
127-
128-
def test_domain_get_max_threads_enum_all(self):
129-
mkl.domain_get_max_threads(domain=mkl.enums.MKL_DOMAIN_ALL)
130-
13196
def test_get_dynamic(self):
13297
mkl.get_dynamic()
13398

@@ -188,18 +153,6 @@ def test_peak_mem_usage_str_peak_mem(self):
188153
def test_peak_mem_usage_str_peak_mem_reset(self):
189154
mkl.peak_mem_usage('peak_mem_reset')
190155

191-
def test_peak_mem_usage_enum_enable(self):
192-
mkl.peak_mem_usage(mkl.enums.MKL_PEAK_MEM_ENABLE)
193-
194-
def test_peak_mem_usage_enum_disable(self):
195-
mkl.peak_mem_usage(mkl.enums.MKL_PEAK_MEM_DISABLE)
196-
197-
def test_peak_mem_usage_enum_peak_mem(self):
198-
mkl.peak_mem_usage(mkl.enums.MKL_PEAK_MEM)
199-
200-
def test_peak_mem_usage_enum_peak_mem_reset(self):
201-
mkl.peak_mem_usage(mkl.enums.MKL_PEAK_MEM_RESET)
202-
203156
def test_set_memory_limit(self):
204157
mkl.set_memory_limit(128)
205158

@@ -239,41 +192,8 @@ def test_cbwr_set_str_avx512_mic(self):
239192
def test_cbwr_set_str_avx512(self):
240193
mkl.cbwr_set(branch='avx512')
241194

242-
def test_cbwr_set_enum_auto(self):
243-
mkl.cbwr_set(branch=mkl.enums.MKL_CBWR_AUTO)
244-
245-
def test_cbwr_set_enum_compatible(self):
246-
mkl.cbwr_set(branch=mkl.enums.MKL_CBWR_COMPATIBLE)
247-
248-
def test_cbwr_set_enum_sse2(self):
249-
mkl.cbwr_set(branch=mkl.enums.MKL_CBWR_SSE2)
250-
251-
def test_cbwr_set_enum_sse3(self):
252-
mkl.cbwr_set(branch=mkl.enums.MKL_CBWR_SSE3)
253-
254-
def test_cbwr_set_enum_ssse3(self):
255-
mkl.cbwr_set(branch=mkl.enums.MKL_CBWR_SSSE3)
256-
257-
def test_cbwr_set_enum_sse4_1(self):
258-
mkl.cbwr_set(branch=mkl.enums.MKL_CBWR_SSE4_1)
259-
260-
def test_cbwr_set_enum_sse4_2(self):
261-
mkl.cbwr_set(branch=mkl.enums.MKL_CBWR_SSE4_2)
262-
263-
def test_cbwr_set_enum_avx(self):
264-
mkl.cbwr_set(branch=mkl.enums.MKL_CBWR_AVX)
265-
266-
def test_cbwr_set_enum_avx2(self):
267-
mkl.cbwr_set(branch=mkl.enums.MKL_CBWR_AVX2)
268-
269-
def test_cbwr_set_enum_avx512_mic(self):
270-
mkl.cbwr_set(branch=mkl.enums.MKL_CBWR_AVX512_MIC)
271-
272-
def test_cbwr_set_enum_avx512(self):
273-
mkl.cbwr_set(branch=mkl.enums.MKL_CBWR_AVX512)
274-
275195
def test_cbwr_get(self):
276-
mkl.cbwr_get(cnr_const=mkl.enums.MKL_CBWR_ALL)
196+
mkl.cbwr_get(cnr_const='all')
277197

278198
def test_cbwr_get_auto_branch(self):
279199
mkl.cbwr_get_auto_branch()
@@ -282,7 +202,7 @@ def test_cbwr_get_auto_branch(self):
282202
class test_miscellaneous():
283203
# https://software.intel.com/en-us/mkl-developer-reference-c-miscellaneous
284204
def test_enable_instructions(self):
285-
mkl.enable_instructions(mkl.enums.MKL_ENABLE_AVX)
205+
mkl.enable_instructions('avx')
286206

287207
def test_set_env_mode(self):
288208
mkl.set_env_mode()
@@ -305,7 +225,7 @@ def test_vmlGetMode(self):
305225
mkl.vml_get_mode()
306226

307227
def test_vmlSetErrStatus(self):
308-
mkl.vml_set_err_status(mkl.enums.VML_STATUS_OK)
228+
mkl.vml_set_err_status('ok')
309229

310230
def test_vmlGetErrStatus(self):
311231
mkl.vml_get_err_status()

0 commit comments

Comments
 (0)