在特定核心上使用python启动程序

时间:2015-10-30 09:04:50

标签: python windows multiprocessing core

有没有办法通过API使用pyhton启动程序并在指定的核心上运行它?

我需要启动一个cpu昂贵的应用程序大约5次并在不同的核心上运行它以节省时间。

我正在使用Windows

1 个答案:

答案 0 :(得分:2)

该过程可以设置自己的亲和力,这是我的工作(您可以更改掩码,或使其成为参数,以识别您要使用的核心。)

import win32api, win32con, win32process

def setaffinity():
    pid  = win32api.GetCurrentProcessId()
    mask = 128 # core 7
    handle = win32api.OpenProcess(win32con.PROCESS_ALL_ACCESS, True, pid)
    win32process.SetProcessAffinityMask(handle, mask)