частое и параллельное чтение numpy memap (без записи) приводит к высокой загрузке процессора ядра - PullRequest
0 голосов
/ 28 апреля 2020

В CentOS7 я использую многопроцессорность для доступа к numpy файлу memmap и предполагаю, что он будет очень часто получать из него массивы. (например, 16 процессов с каждым извлечением массивов из данных mmap сотни раз подряд). Это приводит к сильному давлению на процессор ядра, и sy% высока. Есть ли способы решить это?

пример псевдокода для каждого процесса имеет вид:

mmap_data = mmap_data_list[k]   ### mmap_data is a numpy memmap object
X = np.zeros(numrow, numcol*1000)
for i in range(1000):
    subX = mmap_data[k: k+numrow, numcol]
    X[:, start_index: start_index+numcol] = subX

Как вы можете видеть, он очень часто посещает numpy memmap.

...