Что такое хорошая свободная библиотека BLAS/LAPACK (с открытым исходным кодом) для .net (C#)? [закрытый]

От MSDN:

GUID А является 128-разрядным значением, состоящим из одной группы из 8 шестнадцатеричных цифр, сопровождаемых тремя группами из 4 шестнадцатеричных цифр каждый, сопровождаемый одной группой из 12 шестнадцатеричных цифр. Следующий GUID в качестве примера показывает группировки шестнадцатеричных цифр в GUID: 6B29FC40-CA47-1067-B31D-00DD010662DA

От Википедия :

Часто фигурные скобки добавляются для включения вышеупомянутого формата, как такового:

{3F2504E0-4F89-11D3-9A0C-0305E82C3301}

Так в общей сложности 38 символов в типичном шестнадцатеричном кодировании фигурными скобками.

-Adam

15
задан Egil Hansen 18 September 2009 в 11:56
поделиться

3 ответа

ACML AMD - это бесплатная загрузка, но это только двоичный код, не открытый исходный код, и собственный код, а не .NET.

Производительность в целом выше, чем у Код Netlib.org, и в целом примерно такой же, как MKL от Intel, который не является бесплатным IIRC.

Загрузка включает один пример, демонстрирующий, как привязать его к C #. Ничем не отличается от вызова любой другой библиотеки C или C ++ из C #.

Библиотека реализует BLAS, LAPACK, БПФ и ГСЧ.

http://developer.amd.com/cpu/Libraries/acml/downloads/pages /default.aspx

РЕДАКТИРОВАТЬ ОТВЕТ НА КОММЕНТАРИЙ:

На процессоре Intel ACML AMD будет выполнять примерно так же, как MKL Intel, но это зависит от алгоритма, размеров матрицы, количества количество ядер, топология и скорость памяти и т. д. и т. д. и т. д. Ваш пробег может отличаться. Единственный способ узнать наверняка - это запустить собственный тест. В некоторых случаях ACML быстрее MKL даже на оборудовании Itel.

Любой из них будет значительно быстрее, чем любая «наивная» реализация для больших матриц. Оба спроектированы для использования нескольких потоков на многоядерных процессорах, имеют вручную настроенные ядра ассемблера и большую настройку поведения кеша на различных машинах.

Для небольших матриц производительность обычно невысока. Не беспокойтесь, ведь любой современный процессор может решить небольшую матрицу всего за несколько миллисекунд, даже используя простейший код. В этом случае вы используете только библиотеку, чтобы избежать написания и отладки кода, который уже был написан сотни раз.

Любая из них будет значительно быстрее любой «простой» реализации для больших матриц. Оба спроектированы для использования нескольких потоков на многоядерных процессорах, имеют вручную настроенные ядра ассемблера и большую настройку поведения кеша на различных машинах.

Для небольших матриц производительность обычно невысока. Не беспокойтесь, ведь любой современный процессор может решить небольшую матрицу всего за несколько миллисекунд, даже используя простейший код. В этом случае вы используете только библиотеку, чтобы избежать написания и отладки кода, который уже был написан сотни раз.

Любой из них будет значительно быстрее любой «простой» реализации для больших матриц. Оба спроектированы для использования нескольких потоков на многоядерных процессорах, имеют вручную настроенные ядра ассемблера и большую настройку поведения кеша на различных машинах.

Для небольших матриц производительность обычно невысока. Не беспокойтесь, ведь любой современный процессор может решить небольшую матрицу всего за несколько миллисекунд, даже используя простейший код. В этом случае вы используете только библиотеку, чтобы избежать написания и отладки кода, который уже был написан сотни раз.

и имеют вручную настроенные ядра ассемблера и множество настроек поведения кеша на различных машинах.

Для маленьких матриц производительность обычно не имеет значения, поскольку любой современный процессор может решить маленький матикс всего за несколько миллисекунд, даже с использованием самого простого кода. В этом случае вы используете только библиотеку, чтобы избежать написания и отладки кода, который уже был написан сотни раз.

и имеют вручную настроенные ядра ассемблера и множество настроек поведения кеша на различных машинах.

Для маленьких матриц производительность, как правило, не имеет значения, поскольку любой современный процессор может решить маленький матикс всего за несколько миллисекунд, даже используя самый простой код. В этом случае вы используете только библиотеку, чтобы избежать написания и отладки кода, который уже был написан сотни раз.

11
ответ дан 1 December 2019 в 03:35
поделиться

Вот несколько простых указателей на удобство использования в вашей типографии . Эти вещи в основном решают проблемы удобочитаемости и доступности.

DO:

  • Использовать относительный размер шрифта (em)
  • Идентифицировать языковые изменения в документе с помощью атрибута LANG
  • Черный текст на белом фоне
  • Для заголовки, используйте H1, H2 и т. д. и размещайте их соответствующим образом
  • Разбивайте содержимое на части и систематизируйте с заголовками, которые соответствуют тому, что ищут ваши пользователи
  • Напишите четкую и простую копию
  • Выровняйте по левому краю, неровно по правому краю
  • Цвет текста и фона должен быть высококонтрастным.

НЕЛЬЗЯ:

  • Используйте "щелкните здесь" или "подробнее"
2
ответ дан 1 December 2019 в 03:35
поделиться

Математическая библиотека DotNumerics является свободным/открытым исходным проектом, написанным на C# и содержит трансляцию Lapack, Blas и Eispack на C#.

5
ответ дан 1 December 2019 в 03:35
поделиться
Другие вопросы по тегам:

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