Вопросы с тегом «c++»

56
С ++ против Фортрана для HPC

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

37
Является ли хорошей идеей использовать vector <vector <double >> для формирования матричного класса для высокопроизводительного научного вычислительного кода?

Является ли хорошей идеей использовать vector<vector<double>>(используя std) для формирования матричного класса для высокопроизводительного научного вычислительного кода? Если ответ нет. Зачем?...

29
Что такое хороший способ проводить исследования параметров в C ++

Проблема В настоящее время я работаю над симуляцией Навье-Стокса с помощью конечных элементов, и я хотел бы изучить влияние различных параметров. Некоторые параметры указываются во входном файле или через параметры командной строки; другие параметры предоставляются в виде флагов в Makefile, поэтому...

28
Какие функции нужны пользователям от интерфейса MPI C ++?

Хотите улучшить этот пост? Предоставьте подробные ответы на этот вопрос, включая цитаты и объяснение того, почему ваш ответ правильный. Ответы без достаточной детализации могут быть отредактированы или удалены. Версия стандарта MPI 3.0 формально удалила интерфейс C ++ (ранее он был устаревшим)....

24
Когда я должен использовать шаблоны выражений C ++ в вычислительной науке, а когда я * не * должен их использовать?

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

22
Современный C ++ в научных вычислениях?

Я ищу книги или статьи, или посты в блогах, или любые опубликованные материалы в целом, которые конкретно касаются использования современных функций C ++ (семантика перемещения, STL, итераторы, ленивая оценка и т. Д.) В научных вычислениях. Можете ли вы предложить любой? Я думаю, что эти новые...

22
Какой язык я должен использовать при обучении студентов по компьютерному программированию?

Собираюсь преподавать студентам бакалавриата курс под названием «Введение в компьютерное программирование». Я немного смущен. В вычислительной физике ученые используют C / C ++ или Python или Fortran, CUDA и т. Д. ..... пришло время создать свою базу. Что я должен использовать? Я знаю, что вы...

20
Анализ числовой ошибки в функции C ++

Предположим, что у меня есть функция, которая принимает в качестве входных данных несколько значений с плавающей точкой (одинарные или двойные), выполняет некоторые вычисления и выдает выходные значения с плавающей точкой (также одинарные или двойные). Я работаю в основном с MSVC 2008, но также...

20
Быстрая и легкая тензорная библиотека C ++ для независимого от измерений кода

Я ищу тензорную библиотеку C ++, которая поддерживает независимый от измерения код. В частности, мне нужно выполнять операции по каждому измерению (до 3), например, вычислять взвешенную сумму. Размеры - это параметр шаблона (и, следовательно, константа времени компиляции). Другое ограничение...

18
Язык разработки программного обеспечения для параллельных научных вычислений?

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

17
В какой степени универсальное и метапрограммирование с использованием шаблонов C ++ полезно в вычислительной науке?

Язык C ++ обеспечивает общее программирование и метапрограммирование с помощью шаблонов. Эти методы нашли свое применение во многих крупномасштабных научных вычислительных пакетах (например, MPQC , LAMMPS , CGAL , Trilinos ). Но что они на самом деле внесли в научное вычисление в значении, которое...

17
C ++ Лучшие практики для работы со многими константами, переменными в научных кодах

Я разрабатываю код для моделирования потока жидкости с биологическими веществами, присутствующими в потоке. Это включает в себя стандартные уравнения Навье-Стокса, связанные с некоторыми дополнительными биологическими моделями. Есть много параметров / констант. Я написал функции для обработки...

16
Boost :: mpi или C MPI для высокопроизводительных научных приложений?

Больше всего в MPI мне не нравится иметь дело с типами данных (то есть картами данных / масками), потому что они не очень хорошо подходят для объектно-ориентированного C ++. boost::mpiоднако поддерживает только MPI 1.1 со своего веб-сайта: boost :: mpi - это дружественный к C ++ интерфейс...

14
Зачем ученому в области вычислительной техники реализовать собственную версию std :: complex?

Многие из наиболее известных библиотек C ++ в вычислительной науке, такие как Eigen , Trilinos и deal.II, используют стандартный объект библиотеки заголовков шаблонов C ++ std::complex<>для представления сложных чисел с плавающей запятой. В ответе Джека Полсона на вопрос о конструкторах по...

13
Вычислить

Функция имеет особенность вблизи . Эту особенность можно снять, однако: для следует иметь , поскольку И, следовательно, Однако форма не только не определена в , он также численно нестабилен в окрестности этой точки; чтобы оценить для очень малых численно, можно использовать разложение Тейлора, то...

12
Эффективная реализация алгоритма трехдиагональной матрицы

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

12
решить для используя LAPACK и BLAS

Я портирую существующий код из MATLAB на C ++ и имею линейную систему для решения (вместо более типичной формы )A x = bх = ЬxA=bxA=bA x = bAx=bAx=b Матрица плотная и общего вида, но не больше 1000x1000. Таким образом, в MATLAB решение находится по функции или через косую чертуAAAmrdivide(b,A)x =...

12
Замена интеграции Mathematica QuasiMonteCarlo в C ++

У меня есть программа Mathematica, которая выполняет некоторые интегралы в 3 или 4 измерениях, используя QuasiMonteCarloметод. Проблема в том, что запуск занимает очень много времени, и некоторые из этих вычислений не могут быть завершены в течение максимального рабочего времени, доступного в нашем...

12
Blaze библиотека линейной алгебры?

В статье «Пересмотренные шаблоны выражений: анализ эффективности современных методологий» в SIAM Journal of Scientific Computing упоминается библиотека линейной алгебры «Blaze». Я не слышал об этом раньше, и не могу найти ссылки в Интернете. (Очевидный поиск в Google возвращает вышеуказанную...

11
Применение метода Рунге-Кутты к ОДУ второго порядка

Как я могу заменить метод Эйлера на 4-й порядок Рунге-Кутты, чтобы определить движение свободного падения с не постоянной гравитационной величиной (например, свободное падение с высоты 10 000 км над землей)? До сих пор я писал простую интеграцию по методу Эйлера: while() { v += getMagnitude(x) *...