|
1 |
| ---- AsyncProcessPool_original.py 2020-09-23 18:36:31.232447610 +0200 |
2 |
| -+++ DDFacet/Other/AsyncProcessPool.py 2020-09-23 18:36:16.989634477 +0200 |
3 |
| -@@ -261,23 +261,27 @@ |
| 1 | +--- AsyncProcessPool.py_backup 2021-10-20 22:58:56.203711272 +0200 |
| 2 | ++++ AsyncProcessPool.py 2021-10-20 23:06:34.614377662 +0200 |
| 3 | +@@ -259,25 +259,28 @@ |
| 4 | + print>> log, "Parent and I/O affinities not specified, leaving unset" |
| 5 | + else: |
4 | 6 | print>> log, ModColor.Str("Fixing parent process to vthread %d" % self.parent_affinity, col="green")
|
5 | 7 | - psutil.Process().cpu_affinity(range(self.ncpu) if not self.parent_affinity else [self.parent_affinity])
|
| 8 | ++ |
6 | 9 | + avail_cores = psutil.Process().cpu_affinity()
|
7 | 10 | + psutil.Process().cpu_affinity(avail_cores[:self.ncpu] if not self.parent_affinity else [self.parent_affinity])
|
8 |
| -+ |
| 11 | + |
9 | 12 | # if NCPU is 0, set to number of CPUs on system
|
10 | 13 | if not self.ncpu:
|
11 | 14 | self.ncpu = maxcpu
|
|
21 | 24 | + print(ModColor.Str("Falling back to NCPU=%d" % (maxcpu)))
|
22 | 25 | self.ncpu = maxcpu
|
23 | 26 | self.procinfo = psutil.Process() # this will be used to control CPU affinity
|
24 |
| - |
| 27 | + |
25 | 28 | # create a queue for compute-bound tasks
|
26 | 29 | # generate list of CPU cores for workers to run on
|
27 | 30 | if isinstance(self.affinity, int) and (not self.affinity or self.affinity == 1):
|
|
31 | 34 | elif isinstance(self.affinity, int) and self.affinity == 2:
|
32 | 35 | cores = range(0, self.ncpu * 2, 2)
|
33 | 36 | elif isinstance(self.affinity, int) and self.affinity == -2:
|
34 |
| -@@ -285,9 +289,10 @@ |
| 37 | +@@ -285,9 +288,10 @@ |
35 | 38 | elif isinstance(self.affinity, list):
|
36 | 39 | cores = self.affinity[:self.ncpu]
|
37 | 40 | elif not self.affinity:
|
|
0 commit comments