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

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

77
Есть ли качественный решатель нелинейного программирования для Python?

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

74
Насколько лучше на самом деле компиляторы Фортрана?

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

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

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

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

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

39
Почему деление намного сложнее, чем другие арифметические операции?

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

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

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

36
В какие парадигмы программирования я должен инвестировать, если я хочу, чтобы мой код работал на машинах Petascale в будущем?

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

34
CUDA против OpenCL по состоянию на конец 2013 года

Как CUDA и OpenCL сравниваются друг с другом в конце 2013 года с точки зрения программиста? Моя группа думает о том, чтобы попытаться использовать вычисления на GPU. Будем ли мы значительно ограничивать себя, выбирая оборудование, которое поддерживает только OpenCL, но не CUDA? Чтобы быть более...

26
Почему мой итерационный линейный решатель не сходится?

Что может пойти не так, если использовать методы Крылова из KSP ( пакет линейного решателя PETSc ) с предварительными именами для решения разреженной линейной системы, например, полученной путем дискретизации и линеаризации уравнений в частных производных? Какие шаги я могу предпринять, чтобы...

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

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

24
Каковы основные различия между PETSc и Trilinos?

Насколько я могу судить, две большие универсальные программные платформы Министерства вычислительной науки США - PETSc и Trilinos . На первый взгляд они кажутся похожими, за исключением различий в языке (C против C ++). Каковы основные различия между двумя структурами и какие факторы должны влиять...

23
Когда создание кластера в облаке дешевле, чем создание кластера в моей лаборатории для моделирования MD?

Amazon EC2 Compute Cluster стоит около $ 800- $ 1000 ( в зависимости от рабочего цикла) на физическое ядро процессора в течение 3 -х лет. В нашем последнем раунде приобретения оборудования моя лаборатория взяла на вооружение оборудование на 48 ядер, очень похожее на кластеры Amazon, по цене около $...

22
Почему метод Ньютона не сходится?

Я использую пакет нелинейных решателей PETSc SNES для решения системы нелинейных уравнений, полученных путем дискретизации уравнения в частных производных. Как я могу определить, почему решатель не сходится и что я могу сделать, чтобы успешно решить мои...

22
Будущее OpenCL?

Парадигма программирования OpenCL обещает быть открытым стандартом для разнородных вычислений. Должны ли мы инвестировать наше время в разработку программного обеспечения на основе OpenCL? За и...

21
Intel Fortran Compiler: советы по оптимизации при компиляции

Я начну с моего личного опыта в нашей лаборатории. В 9 и 10 днях раньше мы были довольно агрессивны с оптимизацией, компилируя с -O3 и специфичными для процессора флагами (например, -xW -xSSE4.2). Но начиная с ifort 11, мы начали замечать: 1. некоторые несоответствия в результатах (поскольку...

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

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

17
Лог-лог параллельное масштабирование / графики эффективности

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

17
Состояние Mac OS в научных вычислениях и HPC

Возвращаясь к заре OS X, казалось, было много шума, по крайней мере, в мире Mac (я в то время не был близок к научным вычислениям) о Mac OS как платформе для научных вычислений и приложений HPC. XGrid вышла из коробки, у Virginia Tech был свой модный компьютерный кластер на базе Mac, Стэнфорд делал...

17
Разбор данных о структуре белка в С

Мой опыт в области геномики, но я недавно работал над проблемами, связанными со структурой белка. Я написал несколько соответствующих программ на C, создавая собственный анализатор PDB-файлов с самого начала. Я не беспокоился о создании действительно надежного синтаксического анализатора, я просто...

17
Настольное программное обеспечение с ресурсами HPC для обработки внутренних номеров

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