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


Автор: popovda 9.6.2006, 23:05
Привет всем.
Интересует меня следующая проблема:
есть ли хороший компилятор Fortran 95  под Linux с оптимизацией для AMD 64. Или,
если кто сталкивался, можно ли AMD-шную библиотеку ACML  прикрутить под Intel Fortran?
Кроме того, хотелось бы знать какие компиляторы поддерживают MPI или OpenMP.
Очень хочется услышать мнение, основанное на личном опыте. 

Автор: Cr@$h 10.6.2006, 00:41
Цитата(popovda @  10.6.2006,  00:05 Найти цитируемый пост)
есть ли хороший компилятор Fortran 95  под Linux с оптимизацией для AMD 64. 

У Intel есть linux'овый http://www.intel.com/cd/software/products/asmo-na/eng/compilers/282048.htm.
В опциях компилятора можно указывать под какое семейство компилировать проект. Вот выдержка из таблицы про такую опцию:
Цитата

K Generate instructions and optimize for Intel® Pentium® III processors and AMD Athlon* XP processors.
W
Generate instructions and optimize for Pentium 4, AMD Athlon* 64 and Opteron* processors, and processors supporting Intel® EM64T.
N
Generate instructions and optimize for Pentium 4 and compatible processors including SSE and SSE2. This option also performs some new Pentium 4 processor-specific optimizations not enabled with W.
B
Generate instructions and optimize for the Pentium® M and compatible processors based on Intel® Centrino™ mobile technology2, which includes SSE and SSE2.
P
Generate instructions and optimize for the Pentium 4 processor with Streaming SIMD Extensions 3 (SSE3) instruction support, including processors supporting Intel EM64T. This option supports SSE3 as well as SSE and SSE2.

Думаю, W -- для тебя. За "качество", конечно, не ручуюсь, но только потому, что не проверял. Вообще, Intel доверяю и в вопросах оптимизации под другие процы, если они сами это заявляют (в данном случае указывают в таблице).
Был также компилятор linux "for non comercical use", но на новом сайте что-то не могу найти на него ссылку.
Таблицу по оптимизации взял из прикреплённого "пособия", которого на новом сайте тоже не нахожу.
ACML должна подрубиться, если в ней нет ничего особенного (хотя, что может быть).
Цитата(popovda @  10.6.2006,  00:05 Найти цитируемый пост)
Кроме того, хотелось бы знать какие компиляторы поддерживают MPI или OpenMP.

Intel полностью поддерживает OpenMP 2.0 (может даже 2.5, но это не суть важно, ведь 2.5 -- оббъединение С и Fortran в одну спецификацию). У самого руки не доходят перейти на многопроцессорное программирование, просто пока нет возможности попроверять smile .
О, http://www.intel.com/support/performancetools/fortran/windows/sb/cs-007861.htm:
Цитата

Intel® Fortran Compiler for Windows* 
OpenMP* Specification Support 

The Intel® Fortran Compiler for Windows* 9.x supports the OpenMP* 2.5 specification for Fortran.

For information on these standards, go to the OpenMP* web site. For information on Intel® compiler extensions to OpenMP, see the section on Parallelization under the Optimizations section of the Intel® Fortran User's Guide.

Надо же, всё же прокачались до 2.5 smile  smile 
Про оптимизацию можно скачать наглядный http://or1cedar.cps.intel.com/softwarecollege/CourseDetails.asp?courseID=105 (у меня никогда не получалось скачивать, всегда использовал шедшую с дистрибутивом).
Советую заглянуть в последнее http://cache-www.intel.com/cd/00/00/22/23/222300_222300.pdf. Там совсем в кратце всё описано про оптимизацию, но быстро и наглядно.
http://www.intel.com/support/performancetools/sb/CS-009787.htm по оптимизации.
О из FAQ'а нашёл последнюю версию http://cache-www.intel.com/cd/00/00/27/66/276615_276615.pdf. Что-то на две страницы короче, ну да ладно, формат поменяли.

P. S. Ну, и, конечно, всегда можно посмотреть http://gcc.gnu.org/fortran/ или g95 fortran. 

Автор: popovda 10.6.2006, 22:09
Нда. Невнимательно я про интел читал. Хотя, откровенно говоря, я не думал, что интел прямого и весьма успешного конкурента поддерживает. Сами AMDшники рекомендовали Absoft Fortran Compilers. Надо попробовать. 

Автор: Cr@$h 10.6.2006, 22:18
Цитата(popovda @  10.6.2006,  23:09 Найти цитируемый пост)
Сами AMDшники рекомендовали Absoft Fortran Compilers. Надо попробовать.  

Ну, скорее, чтобы показать, что он не так крут smile  (может smile )
Absoft -- да, хорошие компиляторы, это точно. Просто у меня Intel как продолжатель CVF smile да и вообще нравится, дело привычки. Про оптимизацию Absoft слышал хорошие отзывы, конечно, Intel на своих процах её делает, но мы и не говорим про них...
Lahey не знаю -- они ушли в сторону .Net и я не уверен, что вернуться. smile

Добавлено @ 22:26 
К тому же не может же AMD Intel'овскую продукцию порекомендовать smile . Их компилятор изначально и делался для поддержки особенностей SSEx. 

Автор: popovda 11.6.2006, 10:14
Полностью согласен. Мне тоже не хочется менять CVF-ветку на другую, но если у Absoft'а оптимизация для AMD 64 лучше,
буду им пользоваться. Что касается g95, то мне этот компилятор не понравился. Почему-то при его использовании возникает ощущение, что сначала идет трансляция в C, а затем используется gcc. Да и тому же Intel'у он сильно проигрывает. 

Автор: Cr@$h 11.6.2006, 12:25
Цитата(popovda @  11.6.2006,  11:14 Найти цитируемый пост)
Полностью согласен. Мне тоже не хочется менять CVF-ветку на другую, но если у Absoft'а оптимизация для AMD 64 лучше, буду им пользоваться. 

А что мы тормозим? Есть же знаменитый http://www.polyhedron.com/. Посмотри на тесты под http://www.polyhedron.com/pb05/linux/f90bench_AMD.html. В принципе, как и ожидалось. Надо же, у меня сложилось ощущение, что в целом Pathscale нехуже Absoft. Хотя, вот их средние геометрические:
Opteron/x86_64 Linux
21.19 -- Absoft
22.77 -- Intel
21.38 -- Pathscale

Intel/EM64T Linux
25.45 -- Absoft
23.82 -- Intel
25.93 -- Pathscale
По мне так, выбирай любой из этих трёх. smile 

Цитата(popovda @  11.6.2006,  11:14 Найти цитируемый пост)
Что касается g95, то мне этот компилятор не понравился.

Всецело за с тобой. Там произошло разделение выделился GFortran и G95. Второй, вроде бы, даже круче, но не входит в GCC на самом деле. Развитиетеперь идёт параллельно, а это плохо, делали бы лучше вместе один... smile 
Цитата(popovda @  11.6.2006,  11:14 Найти цитируемый пост)
Почему-то при его использовании возникает ощущение, что сначала идет трансляция в C, а затем используется gcc. Да и тому же Intel'у он сильно проигрывает.

Потому и в тестах у него везде краснота smile  

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