Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 16 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Junior
Статус: Не в сети
Регистрация: 01.05.2004
Откуда: Самара
Вновь принятый на работу программист попросил комп для работы. Ну я, как железячник, предложил свежеопробованную конфигурацию AMD 3000+ 939, 1Гб, Asus A8V (вроде неплохо работает.:)
После чего он задал мне вопрос, а не будет ли глюков у программ и заработают ли они на Intel?:insane:
Ничего я не сказал, весь в сомнениях. Я так понимаю компиляторы для разных процессоров разные, но должны быть и универсальные? :shuffle:, но в силу "железного" образования (радиотехника ) не могу оценить данный фактор.:roll:
Господа с опытом программирования на разных железных платформах, дайте совет плиз, подкрепленный опытом и знаниями. ;)



Партнер
 

Member
Статус: Не в сети
Регистрация: 06.06.2005
Откуда: Москва
Компиляторы для разных процессоров одинаковые! Вот для системы могут быть нюансы. В течении года работал так: дома АМД, на работе Интел. Компиляторы: C++(Microsoft), Compaq Visual Fortran. Они работали и с Win95, а сейчас с Win XP. Никаких проблем никогда не было.

_________________
Take Five!


 

Advanced member
Статус: Не в сети
Регистрация: 09.06.2003
Откуда: USSR
SeerNDV писал(а):
После чего он задал мне вопрос, а не будет ли глюков у программ и заработают ли они на Intel?

Гнать в шею таких програмис :)
Практически ВСЕ компиляторы универсальны, если не указано обратное и если самому не компилить под опрежделенный процессор!


 

Заблокирован
Заблокирован
Статус: Не в сети
Регистрация: 16.03.2004
Я в программировании не секу совсем (кроме бейсика в пределах школьного курса Информатики). Но по моему компилятор отвечает не за работоспособность откомпилированной программы на конкретном процессоре, а за оптимизацию под этот процессор (быстрее работает программа на Интеле или АМД в зависимости от того каким компилятором компилировалась). Мнение сугубо моё, не претендует на объективность, если ошибаюсь, поправьте.

_________________
ЗАКРЫТО
CLOSED


 

Member
Статус: Не в сети
Регистрация: 01.07.2004
Откуда: Питер
Цитата:
Гнать в шею таких програмистов :)


при компилиривании программы для платформы Win32 - программа компилируется именно под связку x86 & WinAPI, а т.к. A64 является представителем архитектуры x86, то вывод очевиден. Исключением является случай, когда при разработке ПО используются расширения (MMX,SSE, etc.) - путем использования ассемблерных вставок, либо с помощью настроек компилятора. В случае если необходимо быстродействие и универсальность, то делается общий gui и несколько dll (одна для P4, другая для k8, и т.д.) - если не изменяет память похожая схема была использована в Хрониках Риддика.

Т.о. напрашивается вопрос - а диплом у этого программиста есть????


 

Member
Статус: Не в сети
Регистрация: 31.12.2003
Откуда: Жукова
LOL
Почему до сих пор не засмеяли???


 

Member
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
SeerNDV Мда, ессно будет работать, правда если спец. расширения не используются (типа про которые FHunter сказал )
Цитата:
Вновь принятый на работу программист
и похоже ненадолго там задержится ;)
FHunter
Цитата:
Т.о. напрашивается вопрос - а диплом у этого программиста есть????
Какой-нить кулинарный :D

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Member
Статус: Не в сети
Регистрация: 30.01.2003
Откуда: Москва
Гнать его нафиг :D
Ни один компилятор в здравом уме без специальных ключей использовать расширения не будет :) SSE2 и особенно SSE3, которое скорее всего есть на этом атлоне 3000+, уже давно есть на P4. Простое SSE тем более не проблема, оно введено на P3, и перенято атлонами XP.
Вот чего у пеньков нет - так это с 3DNow и Ext. 3DNow. Но тот программист, скорее всего, о них не знает :)


 

Member
Статус: Не в сети
Регистрация: 11.11.2004
Откуда: Челябинск
Что вы все на программиста валите, не один он отличился:
Цитата:
После чего он задал мне вопрос, а не будет ли глюков у программ и заработают ли они на Intel?
Ничего я не сказал, весь в сомнениях.

_________________
пишу я программу... и вдруг на клавиатуру выползает bug, буквально


 

Advanced member
Статус: Не в сети
Регистрация: 12.01.2004
Rius
Rius писал(а):
Что вы все на программиста валите

Угу, валим. Программер, который не знает, что такое оптимизации (хотя слышал где-то ухом, т.к. такое спрашивает) кода под определенный процессор и когда они используются, и подавно не знает, что такое оптимизация кода на уровне его написания. А потом и получаются шедевры типа Ксенуса.
Rius писал(а):
не один он отличился

ИМХО, рациональное зерно в вопросе есть, если оно задано непрограммистом. Хотя, если подумать, действительно нефиг тупить - все они х86. Т.е. абсолютно побоку. Хотя, если SeerNDV админ, он прекрасно должен знать, что тот же линух из исходников компилится абсолютно везде и ему побоку, что там стоит интел или АМД

_________________
Sapienti sat


 

Member
Статус: Не в сети
Регистрация: 04.03.2003
Откуда: IN
На самом деле глюки могут быть... и не всегда по вине программиста.

Факт: Compaq Visual Fortran 6.х : При использовании оптимизаций под K7 (Athlon) программы вываливаются с ошибкой на Pentium 4 ( Глюк был официально признан Compaq-ом , намудрили они что то с инстрикциями 3D Now)

Реальность:

1.Компиляторы от Intel предоставляют возможности так называемых "Экслюзивных" оптимизаций, когда программа будет оптимизированна исключительно под определенной процессор ( Pentium III например) и на другом процессоре может работать некорректно.

2. Некоторые могут выбирать опцию оптимизации под "host", и соответственно будет оптимизировать под то на чем сидим :-)


SeerNDV писал(а):
Господа с опытом программирования на разных железных платформах, дайте совет плиз, подкрепленный опытом и знаниями


Если рассматривать слово "платформа" в более широком смысле слова, то тут можно найти долю истины. Компиляторы более мение одни и теже только под Wintel... Компиляторы под Sun Spark уже другие, ну и еше другие под DEC Alpha... и так длаее

_________________
Нет ничего невозможного :-)


 

Advanced member
Статус: Не в сети
Регистрация: 09.06.2003
Откуда: USSR
dima333a Зачем так далеко заходить то? Если програмер задал такой вопрос, то прочтя то, что ты написал он непоймет ничего! :)


 

Member
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
dima333a
Вот у тебя ключевая фраза
Цитата:
При использовании оптимизаций

а в вопросе ее не звучало! Скорей всего ентот "программист" даже не знает(очень примерно представляет), что значит слово оптримизация, и задавая вопрос он имел ввиду, что будет использоваться обычный компилятор без оптимизаций, т.е. как есть по дефолту :neutral:

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Member
Статус: Не в сети
Регистрация: 04.03.2003
Откуда: IN
Ray Adams Lord_of_Darkness

Ну я согласен что вопрос топика звучит смешно, и ответ на него очевиден:-). На самом деле все может быть еще круче, вроде можно компилировать на х86 платформе под Itanium. Т.е. программа может "не идти" даже на том компе на котором ее откомпилировали :-) ...Так что помоему совсем не важно на чем компилировали, и теоретически наверно можно написать компилятор под х86 даже для MacOS и G4... Или компилятор для UltraSpark работаюший из под Wintel :-)



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

З.Ы. Я конечно любитель самоучка, и не претендую на истину в последней инстанции

_________________
Нет ничего невозможного :-)


 

Advanced member
Статус: Не в сети
Регистрация: 09.06.2003
Откуда: USSR
dima333a Ну так это и понятно, твои ситуации програмер поймет и делать такое не будет если не хочет чтобы прога не пошла, просто мы отошли малость от темы вопроса :) Не думаю, что программер спросил это имея за плечами гигантский опыт написания софта под все виды процессоров :)


 

Member
Статус: Не в сети
Регистрация: 14.03.2004
Откуда: Москва
Не знаю как exe, но elf однозначно соедржит информация с каким ABI и на каком процесоре(архетектуре его можно пускать).
в общем при оптимизации в gcc указывается параметры:
Код:
       -mcpu=cpu-type
           Tune to cpu-type everything applicable about the generated code,
           except for the ABI and the set of available instructions


Код:
       -march=cpu-type
           Generate instructions for the machine type cpu-type.

А теперь выдержка из -mcpu
Цитата:
the compiler will not generate any code that does not run on the i386 without the -march=cpu-type option being used

В общем мы видем что при использовании -mcpu у нас для генерации кода используется только i386 инструкции, но при этом шедулинг(понядок) и например function call оптимизируются под КОНКРЕТНЫЙ процессор
При указании -mcpu мы разрешаем использовать любые инструкции. При этом в бинарник (по крайней мере elf) указывает архетектура сборки. При запуски ОС должна проверить, что текущая архететура (host) является расширением запрашиваемой архетектуры.
Остальные параметры (за исключением генерации кода мат. сопроцессора) не влияют на испольнение кода на процессоре[/off]

_________________
ФИЗТЕХ- рулез, ФАКИ - сила, Кванты тоже хорошо


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 16 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan