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

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

7
Является ли алгоритмический анализ путем подсчета флопов устаревшим?
На моих курсах по численному анализу я научился анализировать эффективность алгоритмов, подсчитывая количество операций с плавающей запятой (флоп), которые им требуются, в зависимости от размера проблемы. Например, в тексте Trefethen & Bau о числовой линейной алгебре есть даже трехмерные изображения подсчетов флопа. Сейчас модно говорить, что «флопы свободны», потому что …

9
Функциональное программирование и научные вычисления
Я прошу прощения, если это неопределенный вопрос, но здесь идет: В последние несколько лет функциональному программированию уделялось много внимания в сообществе разработчиков программного обеспечения. Многие начали использовать такие языки, как Scala и Haskell, и заявили об успехе над другими языками программирования и парадигмами. Мой вопрос: как специалисты в области высокопроизводительных …

4
Что делает Фортран быстрым?
Фортран занимает особое место в численном программировании. Конечно, вы можете создавать хорошие и быстрые программы на других языках, но Fortran продолжает работать очень хорошо, несмотря на свой возраст. Более того, в Фортране проще создавать быстрые программы. Я сделал быстрые программы на C ++, но вы должны быть более осторожны с …

18
Где можно получить хорошие наборы данных / тестовые задачи для тестирования алгоритмов / процедур?
Оценивая качество программного обеспечения, которое вы собираетесь использовать (будь то что-то написанное вами или консервированный пакет) в вычислительной работе, часто полезно посмотреть, насколько хорошо оно работает со стандартными наборами данных или проблемами. Где можно получить эти тесты для проверки вычислительных процедур? (Один сайт / книга за ответ, пожалуйста.)

4
Научные стандарты для числовых ошибок
В моей области исследований спецификация экспериментальных ошибок является общепринятой, и публикации, которые не предоставляют их, подвергаются серьезной критике. В то же время я часто нахожу, что результаты численных вычислений предоставляются без какого-либо учета числовых ошибок, хотя (или, возможно, потому что) часто сомнительные численные методы работают. Я говорю об ошибках, которые …

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

14
Какое программное обеспечение и рабочий процесс рекомендуется для публикации научных данных и графиков?
Какое программное обеспечение обеспечивает хороший рабочий процесс от простого построения нескольких точек данных до создания графики уровня публикации с подробными стилями, математической версткой и «профессиональным качеством»? Это немного связано с вопросом Дэвида (« Какие атрибуты делают фигуру профессиональным качеством?» ), Но основное внимание уделяется не атрибутам, а программному обеспечению или …

3
Каково состояние параллельных методов ODE?
В настоящее время я изучаю параллельные методы для интеграции ODE. Существует много новой и старой литературы, описывающей широкий спектр подходов, но я не нашел каких-либо недавних обзоров или обзорных статей, описывающих эту тему в целом. Есть книга Burrage [1], но ей почти 20 лет, и, следовательно, она не охватывает многие …

2
Почему деление намного сложнее, чем другие арифметические операции?
Недавно я столкнулся со случаем, когда мне понадобилось целочисленное деление на чипе, в котором его не было (ARM Cortex-A8). Пытаясь исследовать, почему это должно быть, я обнаружил, что в общем случае деление занимает гораздо больше циклов, чем сложение, вычитание или умножение практически любой целочисленной (или фиксированной) архитектуры. Почему это так? …

7
Является ли хорошей идеей использовать vector <vector <double >> для формирования матричного класса для высокопроизводительного научного вычислительного кода?
Является ли хорошей идеей использовать vector&lt;vector&lt;double&gt;&gt;(используя std) для формирования матричного класса для высокопроизводительного научного вычислительного кода? Если ответ нет. Зачем? Благодарность
37 hpc  c++ 

4
Как оператор обратной косой черты в MATLAB решает
Я сравнивал несколько своих кодов с «стандартными» кодами MATLAB. Я удивлен результатами. Я запустил пример кода (разреженная матрица) n = 5000; a = diag(rand(n,1)); b = rand(n,1); disp('For a\b'); tic;a\b;toc; disp('For LU'); tic;LULU;toc; disp('For Conj Grad'); tic;conjgrad(a,b,1e-8);toc; disp('Inv(A)*B'); tic;inv(a)*b;toc; Полученные результаты : For a\b Elapsed time is 0.052838 seconds. For …

5
Можно ли сделать карьеру в SciComp без участия в исследованиях в области вооружений?
Я на международной конференции (ICIAM2019) о численных методах и удивлен распространенностью приложений, непосредственно связанных с исследованиями в области вооружений. Примеры: Один из лауреатов премии рассказывает о математической проблеме восстановления / обнаружения движущихся объектов с помощью радара. В своем выступлении он описывает ситуацию с «платформой» радара на высоте 8 км, используя …

7
В какие парадигмы программирования я должен инвестировать, если я хочу, чтобы мой код работал на машинах Petascale в будущем?
Из обзора топ-500 довольно ясно видно, что отрасль имеет тенденцию к экспоненциальному увеличению числа процессорных ядер . Все крупнейшие суперкомпьютеры используют MPI для связи между узлами, хотя не наблюдается явной тенденции к параллелизму на узле, при этом самый простой (но не обязательно самый эффективный) подход для сопоставления отдельного процесса MPI …

6
Символьные программные пакеты для выражений Matrix?
Мы знаем, что симметрична и положительно определена. Мы знаем, что B ортогонально:AA\mathbf AВB\mathbf B Вопрос: является ли симметричным и положительно определенным? Ответ: да.B ⋅ A ⋅ B⊤B⋅A⋅B⊤\mathbf B \cdot\mathbf A \cdot\mathbf B^\top Вопрос: Мог ли компьютер сказать нам это? Ответ: возможно. Существуют ли системы символической алгебры (например, Mathematica), которые обрабатывают …

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

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