Вычислительная наука

Вопросы и ответы для ученых, использующих компьютеры для решения научных задач

10
Рекомендации для удобной, быстрой библиотеки C ++ матрицы?
У кого-нибудь есть рекомендации по использованию удобной и быстрой матрицы библиотеки C ++? Что я подразумеваю под юзабилити - это следующее: Матричные объекты имеют интуитивно понятный интерфейс (например, я могу использовать строки и столбцы при индексации) Я могу сделать что-нибудь с классом матрицы, что я могу сделать с LAPACK и ...

14
Стоит ли писать модульные тесты для кодов научных исследований?
Я твердо убежден в ценности использования тестов, которые проверяют полную программу (например, тесты сходимости), включая автоматизированный набор регрессионных тестов . После прочтения некоторых книг по программированию у меня появилось мучительное чувство, что я "должен" написать модульные тесты (т. Е. Тесты, которые проверяют правильность одной функции и не сводятся к выполнению ...

10
Какие проблемы хорошо подходят для вычислений на GPU?
Так что я неплохо разбираюсь в том, какие проблемы, с которыми я работаю, являются лучшими в сериале, и которыми можно управлять параллельно. Но сейчас у меня нет особого представления о том, что лучше всего обрабатывать вычислениями на базе ЦП, и что следует выгружать в графический процессор. Я знаю, что это ...
84 gpu 

17
Есть ли качественный решатель нелинейного программирования для Python?
У меня есть несколько сложных невыпуклых задач глобальной оптимизации. В настоящее время я использую MATLAB Optimization Toolbox (в частности, fmincon()с алгоритмом = 'sqp'), что довольно эффективно . Тем не менее, большая часть моего кода написана на Python, и я бы тоже хотел провести оптимизацию на Python. Есть ли решатель НЛП ...

6
Насколько лучше на самом деле компиляторы Фортрана?
Этот вопрос является продолжением двух обсуждений, недавно появившихся в ответах на " C ++ против Fortran for HPC ". И это больше вызов, чем вопрос ... Один из наиболее часто звучащих аргументов в пользу Fortran заключается в том, что компиляторы просто лучше. Поскольку большинство компиляторов C / Fortran используют один ...
74 fortran  c  blas  benchmarking 

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

12
С ++ против Фортрана для HPC
В моей программе PhD по вычислительной технике мы работаем почти исключительно на C ++ и Fortran. Кажется, некоторые профессора предпочитают одного другому. Мне интересно, какой из них «лучше» или один лучше другого в определенных обстоятельствах.
56 hpc  fortran  c++  languages 

5
Как мне взять БПФ неравномерно расположенных данных?
Преобразование Фурье Быстрый алгоритм вычисляет Фурье разложения в предположении , что его входные точки равномерно распределены во временной области, . Что если они не? Есть ли другой алгоритм, который я мог бы использовать, или каким-то образом я мог бы изменить БПФ, чтобы учесть, что фактически является переменной частотой дискретизации?tk=kTtk=kTt_k = ...

4
Насколько зрел проект научного языка «Юлия»?
Я рассматриваю возможность изучения нового языка для использования в проектах численного / имитационного моделирования в качестве (частичной) замены для C ++ и Python, которые я сейчас использую. Я столкнулся с Джулией , которая звучит как-то идеально. Если он выполняет все свои требования, я мог бы использовать его для замены как ...

17
Распространено не использовать библиотеки для стандартных числовых алгоритмов, и почему?
Многие численные алгоритмы (интеграция, дифференцирование, интерполяция, специальные функции и т. Д.) Доступны в библиотеках научных вычислений, таких как GSL . Но я часто вижу код с «ручными» реализациями этих функций. Для небольших программ, которые не обязательно предназначены для публичного распространения, является ли обычной практикой среди специалистов по вычислительной технике самостоятельное ...
54 libraries  c 

7
Какими основными навыками должен обладать каждый ученый? [закрыто]
Каждый ученый должен знать немного о статистике: что означает корреляция, что такое доверительный интервал и так далее. Точно так же каждый ученый должен знать немного о компьютерах: вопрос в том, что? Что разумно ожидать, чтобы каждый работающий ученый знал о создании и использовании программного обеспечения? Наш список основных навыков - ...
52 education 

4
Каким руководствам следует руководствоваться при выборе разреженного линейного системного решателя?
Разреженные линейные системы появляются с возрастающей частотой в приложениях. Для решения этих систем нужно выбирать из множества процедур. На самом высоком уровне существует водораздел между прямым (например, разреженным методом исключения Гаусса или разложением Холецкого, со специальными алгоритмами упорядочения и мультифронтальными методами) и итерационным (например, GMRES, (би-) сопряженным градиентом) методами. Как ...

3
Каковы концептуальные различия между методом конечных элементов и методом конечных объемов?
Существует очевидная разница между конечной разностью и методом конечных объемов (переход от точечного определения уравнений к интегральным средним по ячейкам). Но я считаю, что FEM и FVM очень похожи; они оба используют интегральную форму и усредняют по клеткам. Что делает метод FEM, а не FVM? Я прочитал небольшую справочную информацию ...

5
Каковы критерии выбора между конечными отличиями и конечными элементами
Я привык думать о конечных различиях как о частном случае конечных элементов в очень ограниченной сетке. Итак, каковы условия выбора между методом конечных разностей (FDM) и методом конечных элементов (FEM) в качестве численного метода? На стороне метода конечных разностей (FDM) можно считать, что они концептуально проще и проще в реализации, ...

8
Каковы хорошие способы документирования научного программного обеспечения?
Много раз, когда я унаследовал или столкнулся с научным кодом, написанным другими людьми (или, иногда, даже с моей собственной работой), я заметил, что документация либо недостаточна, либо вообще отсутствует. Если мне повезет, я вижу информативные комментарии. Если мне очень повезет, есть даже комментарии Doxygen и Doxyfile, так что у меня ...

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.