[win64]Какой компилятор фортрана будет работать на компе с АМД64?
У меня под Linux-x64 работает, только вот почему-то сам компилятор был 32-битным приложением, а код генерил самый настоящий 64-битный
Под Windows не пробовал, но на сайте точно есть.
То есть просто попробовать поставить их 32-х битный компилятор?
Перекомпилируй свой компилятор им же, будет он у тебя 64 битным тоже
А под Windows вроде у них на сайте есть две версии компилятора под 32 и под 64, причем обе компилят 64-битный код.
Может и под линукс уже тоже сделали так же. Надо будет посмотреть...
То есть просто попробовать поставить их 32-х битный компилятор?Если ты просто хочешь компилировать программы, и тебе все равно какой должен быть код: 32-битный или 64-битный, то все равно что ставить, лишь бы работало. Если же хочешь, чтобы код был именно 64-битный для Win64, то тогда обязательно качай что-нибудь вроде версии для EM64T. В любом случае на сайте Intel лучше объяснят.
Так какое же из твоих утверждений вернее?
Это:
У меня под Linux-x64 работает, только вот почему-то сам компилятор был 32-битным приложением, а код генерил самый настоящий 64-битныйили это:
Если же хочешь, чтобы код был именно 64-битный для Win64, то тогда обязательно качай что-нибудь вроде версии для EM64TИли ты имеешь в виду, под какой проц откомпилирован сам компилятор?
то тогда обязательно качай что-нибудь вроде версии для EM64TВообще-то для АМД64 это скорее не так, чем так
Вопрос еще актуален.
Насколько я понимаю, под AMD64 должны работать
а) все компиляторы, которые работали под x86
б) все компиляторы, которые специально сделаны под AMD64
По идее, также должны работать и компиляторы, сделанные под EMT64.
Из твоих постов я пока не понял, нужно ли тебе генерить код, использующий навороты 64-битной архитектуры.
А ты хоть какой-нибудь попробовал поставить?Да мне еще некуда
Но надо же заранее знать (например, чтобы аргументированно объяснить, почему нам надо купить комп именно на АМД64, на не на Р4 - а то вон уже 2 на Р4 купили да и за советами иногда обращаются...
Из твоих постов я пока не понял, нужно ли тебе генерить код, использующий навороты 64-битной архитектуры.Сори, облажался, но зачем тогда покупать именно 64-х битную систему, а уж тем более ставить на нее именно 64-х битную ось
Ведь можно же поставить все 32-х битное и радоваться жизни...
Вопрос стоит именно так, какой компилятор сможет сделать АМД64-код, будучи поставленным под 64-х битную ось?
Кстати, а на компиляторе из под 32-х битной оси точно нельзя делать 64-х битный код?
По идее, также должны работать и компиляторы, сделанные под EMT64То есть можно поставить на АМД64 версию Интел Фортрана для Итаниума? (в смысле, что она будет работать и делать 64-х битный код для АМД64?)
Ну и еще про оптимальность полученного кода тоже интересно узнать, а то некоторый статьи в инете говорят о том, что Интел Фортран делает плохой код для АМД64 специально, другие наоборот говорят, что все нормально работает
И еще, если у кого есть ссылка на грамотное сравнение АМД64 и Итаниума именно с точки зрения программирования под них - киньте, плиз
То есть можно поставить на АМД64 версию Интел Фортрана для Итаниума?Не путай EMT64 с Итаниумом. Это две большие разницы, совместимость между ними отсутствует напрочь. Более того, если узнаешь цены на итаниумные серверы - сразу забудешь про них.
Еще раз. Intel предлагает вашему вниманию целый набор компиляторов. При этом компиляторы отличаются
Вопрос стоит именно так, какой компилятор сможет сделать АМД64-код, будучи поставленным под 64-х битную ось?
Кстати, а на компиляторе из под 32-х битной оси точно нельзя делать 64-х битный код?
во-первых тем, под какую архитектуру они генерируют код.
во-вторых тем, на какой архитектуре они сами могут работать.
Простой пример: ты девелопер, и сидишь на 32-битном проце, а заказчик хочет код под Итаниум. Тогда тебе нужен компилятор, который сам работает на 32-битных процах, а код создает для Итаниума.
Далее Intel более-менее поддерживает три архитектуры: IA-32, Itanium, EM64T. Соответсвенно всего разных вариантов - 3x3=9, хотя на сайте они предлагают только 5 из них.
В итоге ответ на первый твой вопрос: Интеловский компилятор сможет сделать АМД64-код, хотя они это называют по-другому - Intel® Extended Memory 64 Technology. (Правда глупо бы звучало, если бы интеловский компилятор был заточен именно под АМД?)
Ответ на второй вопрос: можно компилить код для АМД64 даже на обычном пентиуме (первом но вот есть ли смысл в этом? Ведь ты даже не сможешь проверить, как работает твоя программа, не имея под рукой тру 64-битной системы.
А вот этого не советую... Твой выбор - EM64T.
То есть можно поставить на АМД64 версию Интел Фортрана для Итаниума? (в смысле, что она будет работать и делать 64-х битный код для АМД64?)
Интеловский компилятор сможет сделать АМД64-код, хотя они это называют по-другому - Intel® Extended Memory 64 Technology
А вот этого не советую... Твой выбор - EM64T.Именно это и интересовало.
Большое спасибо всем
Посоветуйте библиотеку для расчетов с произвольной точностью для фортрана.
1. Можно ли (и как) под VS.net2003 откомпилировать под АМД64?
В документации нашел две опции, которые похожи на то, что мне нужно: i32em и i64.
Но куда его прописывать в VS-е не нашел
Например там в закладке компиляции есть пункт - получившаяся командная строка, и там можно добавлять еще свои опции, но попытка прописывания туда этих ключей привела только к руганию на них компилятора
Или хотя бы приведите пример командной строки для компиляции с получением АМД64.
2. В VS.net2003 не видится отладчик интеловского фортрана - судя по всему подключается сишный, что приводит к невозможности отладки
Может это быть связано с тем, что отладчик IVF - 32-х битный?
Пробовал использовать отладчик, который ставится самим фортраном (не в студию но так сразу он у меня не заработал (правда я и не разбирался)...
Проблема мб в том, что туда сначала ставили VS 2005 64-bit, потом VS 2003, а уже потом IVF 9?
3. Еще один минус Интел фортрана по сравнению с Компак фортраном: в последнем работала контекстная помощь.
Вот бы chm прикрутить к студии - это возможно?
4. Нашел в файле for_main.chm описание функции, которая мне нужна, но при компиляции не видится библиотека, в которой эта функция описана Где ее прописать в студии?
5. Видел в коде такой прием:
real a,b,c,d
...
c = a * b
d = a * b - c
Вроде как они таким образом пытаются получить перенос, который получается при переполнении при умножении.
Но я попробовал такой прием и сравнил с умножением при более высокой точности - совпадений нет
Я что-то не так настроил, или это еще зачем надо?
6. Можно ли как-то получить этот самый перенос при переполнении в фортране (и при сложении, и при умножении)? Ведь ассемблерная команда, которой осуществляется умножение (например имеет результатом два слова - то, что обрезается и само переполнение. Или это нельзя получить в фортране, а только через ассемблерные вставки в С?
ап
Оставить комментарий
durka82
Intel Fortran можно как-нибудь заставить?