как отобразить в памяти огромную матрицу?

Предположим, у вас есть огромная (40+ ГБ) матрица значений характеристик (с плавающей запятой), строки - это разные функции, а столбцы - это образцы / изображения.

Таблица представляет собой предварительно вычисленный столбец - мудрый. Затем к нему полностью обращаются построчно и многопоточно (каждый поток загружает целую строку) несколько раз.

Как лучше всего обрабатывать эту матрицу? Я особенно размышляю над 5 пунктами:

  1. Поскольку он работает на ПК x64, я мог бы отобразить в памяти всю матрицу сразу, но имеет ли это смысл?
  2. Как насчет эффектов многопоточности (также многопоточных начальных вычислений? )?
  3. Как разместить матрицу: основная строка или столбец?
  4. Поможет ли пометить матрицу как доступную только для чтения после завершения предварительного вычисления?
  5. Может быть что-то вроде http: // www.kernel.org/doc/man-pages/online/pages/man2/madvise.2.html можно использовать для его ускорения?

15
задан Trass3r 29 January 2011 в 20:40
поделиться