Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Fortran > [General] Разные вопросы в одной теме


Автор: галекс 15.5.2008, 16:04
Модератор: Пожалуйста, один топик - один вопрос.
Модератор: Выделено из популярной темы и закрыто. Темы в подобной форме создавать нельзя по правилам форума Винград.

Вопросы для popovda.
Можно пример , где задача в 100строк(на каком языке?) решается 10превращается в 10 строк.

Где найти информацию на русском о Фортране2003?

Что означает 2.0_8 для небайтовой машины?

Почему WHERE параллельная инструкция?

Что такое GUI?

Автор: popovda 15.5.2008, 21:02
Цитата

Можно пример , где задача в 100строк(на каком языке?) решается 10превращается в 10 строк.


Пожалуйста. Метод сопряженных градиентов для решения СЛАУ. При написании на C/C++ придется либо расписывать циклы работы с матрицами и векторами, либо писать свою библиотеку функций/классов. На Фортране такие вещи как
произведение матриц, скалярное произведение векторов, сумма элементов или их произведение, минимум и максимум - стандартны. 
А язык массивов и сечений позволяет не расписывать циклы.

Цитата

Где найти информацию на русском о Фортране2003?


Пока, похоже, нигде. Разве что в моих лекциях по Ф2003. Но они пока в рукописи.

Цитата

Что означает 2.0_8 для небайтовой машины?


Что константа 2.0 не стандартного типа real, определяемого настройками компилятора/среды, а именно real(8).
Пример. Если real == real(4) (float в C), то архитектура x86, если не изменяет память, гарантирует точность мантиссы первых 7 десятичных цифр
0.1 == 0.1000000377475556123
real(8) - double в C - первых 15
0.1 == 0.1000000000000000123

Контроль точности.

Цитата

Почему WHERE параллельная инструкция?

Потому что where, forall и сечения массивов пришли из HPF и созданы для параллельного выполнения. Здесь не определен порядок вычисления. На них наложены ограничения. Основная: в теле конструкций могут вызываться только чистые и элементные подпрограммы, кроме того, например, в forall сначала будет вычесленна правая часть и лишь затем произойдет присваивание уже всего результата.
В отличие от последовательного цикла.

Цитата

Что такое GUI?

Graphic User Interface - Графический интерфейс пользователя.

Автор: галекс 16.5.2008, 11:50
Снова  вопросы.

 Намерены ли Вы обнародовать Ваши лекции? На чем основана Ваша уверенность, что Вы - единственный. Поищем еще.

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

Ответ о параллельности WHERE - не убедителен. Что считается в параллель? что на узле 1, 2, ...,?

Кстати, WHERE и др. не пришли из HPF, они были уже в 80-х годах.

Вы слишком самоуверены и не всегда правы в своих суждениях и приводимых ответах.

Автор: Иванофф 16.5.2008, 20:39
тов.галекс 
а не проще рядом с вопросами давать сразу и свои ответы. вы упростите восприятие вашего материала.

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

Автор: popovda 16.5.2008, 21:14
Во-первых, я не считаю себя великим и ужасным, начнем с этого. Во-вторых, не считаю себя единственным, Боже упаси. Да и если бы вы знали меня лично, то убедились бы, что о себе я всегда говорю с большой самоиронией. Просто по стандарту 2003 я не видел ни одного русскоязычного источника, хотя, как вы понимаете, прежде всего стал искать его, перерыл все имеющиеся ресурсы и переписывался по этому вопросу с единственным российским членом WG5. Что до моих лекций, то публиковать их в нынешнем виде я не собираюсь. Это впервые чичавшийся семестровый курс. Для опубликования их надо значительно расширить, "причесать" и дополнить ещё большим количеством примеров. Прорецензировать тоже. Опять доработать, и только потом - публиковать.

Есть замечательная книга А.М. Горелик "Программирование на современном Фортране", но в ней по стандарту 2003 дан обзор некоторых средств. На английском литература есть - 3-ие издание Metcalf'а, например. В конце концов есть стандарт языка. А знание технического английского - это, извините, уже профпригодность.

При разработки курса я использовал компилятор с наиболее продвинутой реализацией стандарта 2003 - NAG Fortran 5.1. Есть ещё и IBM Fortran XL, кстати. 

Цитата

Что такое 4 и 8 в общем случае. Лектор должен давать более универсальную информацию, более фундаментальные знания, а не натаскивать на конкретный пакет.

Какой пакет? Вы имели ввиду архитектуру? Ну если у вас дома от обилия места и денег стоят Sun, PPC или Cray....

Про 4 и 8 d в общем случае - это параметр разновидности kind - значения которого определяют доступные разновидности встроенного (intrinsic) типа. То есть сколько байт отводится под переменную. Пример давал для конкретной и наиболее распространенной архитектуры (учитывая ваш статус "Новичок", дал простое объяснение на пальцах). Кстати есть так же kind=16, а в некоторых реализациях kind=10. А раз уж вы книги умеете читать, читайте хотя бы "Фортран 90. Международный стандарт"
В котором, кстати, сказано, что для целых чисел параметр разновидности определяет диапазон десятичных порядков модельного представления, для вещественных и комплексных - точность и диапазон порядков, для логических - представление, для символьных - 
представление и размер.

Цитата

Кстати, WHERE и др. не пришли из HPF, они были уже в 80-х годах.

Может быть они и появились в 80-ые в одной из веток Фортрана (VECTRAN, например). Вдаваться в полемику не буду, просто не желаю. Для меня важно то, что это (как и FORALL) стандартное средство, обеспечивающее распараллеливание вычислений. И кроме того, просто удобное.

Цитата

Что считается в параллель? что на узле 1, 2, ...,?

Опять же не совсем вас понял - чтобы критиковать, надо вопрос ставить четко. 
Уточните его. 

Цитата

Вы слишком самоуверены и не всегда правы в своих суждениях и приводимых ответах.

Про самоуверенность уже сказал. А про то, что я не всегда прав - имею на это полное и никем не ограниченное право, как и любой другой человек.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)