умножение матриц Java (FAST)

Я должен умножиться 2 (большинство времен) разреженная матрица. Они матрицируют, являются довольно разрядными (о 10k*10k), и у меня есть два Xeon Quad core и всего один поток для этого задания?

есть ли какая-либо быстрая библиотека для мультипотока moltiplication? совет?

7
задан BigG 15 January 2010 в 19:42
поделиться

4 ответа

Я бы попробую Colt , от Cern. Теперь это немного старое, но все равно предоставляет отличные библиотеки для того, что вы пытаетесь.

Для параллельной обработки попробуйте новее параллельно Colt .

4
ответ дан 7 December 2019 в 07:45
поделиться
1
ответ дан 7 December 2019 в 07:45
поделиться

Сделать это на GPU? http://www.nvidia.com/object/io_1254288141829.html

-121--3995784-

Я не знаю, правда ли то, что вы написали. Однажды приложение было отклонено из-за этого:

XXXX было отклонено из-за несогласованности имен. Имя, введенное в iTunes Connect, должно совпадать с именем установленного приложения. Имя, введенное в iTunes Connect, - XXXX, а имя установленного приложения - YYYY. Чтобы ваше приложение было пересмотрено для App Store, устраните эту проблему и загрузите новый двоичный файл в iTunes Connect.

Способ изменения отображаемого имени приложения в Xcode состоит в изменении записи «Product Name» на панели «Build Info» целевого приложения. Для этого

  1. Выберите целевой объект в левой части окна Группы и файлы
  2. Выберите файл > Получить информацию
  3. Выберите вкладку Сборка
  4. Во всплывающем окне Конфигурации выберите Все конфигурации
  5. В поле поиска введите «product name»
  6. Дважды щелкните поле ввода и введите новое имя продукта, а затем нажмите OK.
  7. В информационном списке измените отображаемое имя пакета и соответствующее имя пакета.
  8. Выполните чистое построение (Build > Clean all targets; Build > Build)

После выполнения этих шагов в папке Products появится вновь созданный двоичный файл. Не изменяйте идентификатор пакета. Используется для уникальной идентификации приложения в App Store. Его изменение помешает пользователям обновиться и эффективно внедрить новое приложение, а не обновление.

-121--2831541-

Да, существуют библиотеки для многопоточного умножения матриц; пусть Google будет твоим другом. Хотя при наличии только одного потока многопоточность может не потребоваться. Почему на компьютере с 8 ядрами имеется только один поток? Одной из рассматриваемых библиотек является интерфейс Java BLAS.

Вы определенно подходите правильно, ищем библиотеку, а не пытаетесь написать это самостоятельно.

-1
ответ дан 7 December 2019 в 07:45
поделиться

При всем уважении к Colt и Parallel Colt, они не очень быстрые. Если вы настаиваете на использовании Java и ожидаете быстрых численных вычислений, используйте JBLAS. JBLAS использует ATLAS. Я скомпилировал JBLAS для использования многопоточного ATLAS - по умолчанию он этого не делает. Вам придется изменить несколько параметров конфигурации. Однако даже однопоточный JBLAS быстрее многопоточного Colt и Parallel Colt. Я тестировал Colt, Parallel Colt, JAMA и JBLAS. JBLAS - лучший с огромным отрывом.

Colt и Parallel Colt очень медленные. Так же как и JAMA. Лучшая библиотека в Java для таких вещей - JBLAS.

3
ответ дан 7 December 2019 в 07:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: