blob: 8860158398d9b724f61beac1ea6afa14ed282daf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# tag: openmp
from cython.parallel cimport parallel
from openmp cimport omp_get_thread_num
cdef void long_running_task1() nogil:
pass
cdef void long_running_task2() nogil:
pass
def do_two_tasks():
cdef int thread_num
with nogil, parallel(num_threads=2):
thread_num = omp_get_thread_num()
if thread_num == 0:
long_running_task1()
elif thread_num == 1:
long_running_task2()
|