Отправляет email-рассылки с помощью сервиса Sendsay

За 2005-03-31

Re[2]: Какая ОСь ???

Здравствуйте, Ilya.

Вы писали 31 марта 2005 г., 12:04:09:

IGT> Доброе утро,
>> openssl и говорит мол perl5 не установлен.

IGT> Эта проблема, говорят, в 2005.0 будет устранена...
в принципе - там и проблемы то особенной нету, можно считать особенность...

>> мне вот позарез нужно:
>> ntfs-captive :))
>>
IGT> Например мне ;) Если ebuild для данного пакаджа существует то проблем с
IGT> добавлением его не предвидится, если же он существует но не закоммичен
IGT> на packages.gentoo.org достаточно привести линк на ebuild и он будет
IGT> добавлен в дистр вручную тоже для ebuild'ов собранных самостоятельно, но

IGT> тут уже коммит обязателен
он там вроде есть, но не работает, хотя я достал все нужные ему пакеты...
ошибка компиляции на каком-то этапе :((. В общем надо просто с ebuild разобраться..

   "Kanogin A.A." 2005-03-31 20:51:04 (#343161)

Re: Какая ОСь ??? Помогите разобраться с оптимизацией в теории.

В сообщении от 1112255050 секунд после начала Эпохи Unix Вы написали:

> Ссылки на хорошие доки, естесственно, принимаются с особой
> благодарностью(очень хотелось бы -- по русски, но английские тоже в
> почёте, лишь бы хорошие).

"Серверы корпоративных баз данных", где-то на www.citforum.ru.
Помимо всего прочего, там затрагивается тема процессоров, дается
обзор различных архитектур, затрагиваются темы конвеерной и
суперскалярной обработки.

> Итак.
> 1.Для того, чтобы компилировать с использованием инструкций
> конкретного проца(3дноу, ммх, ссе) нужно, чтобы это было явно указано
> в исходниках, причём единственный способ указать -- ассемблерные
> вставки с использованием нужных инструкций.

Это верно относительно MMX, по крайней мене, проверено опытным путем.

Хотя в gcc(1) есть такая фраза (помечена *):

-mmmx
-mno-mmx
-msse
-mno-sse
-msse2
-mno-sse2
-msse3
-mno-sse3
-m3dnow
-mno-3dnow
<вырезано>

*To have SSE/SSE2 instructions generated automatically from float-
ing-point code, see -mfpmath=sse.

Далее:

-mfpmath=unit
Generate floating point arithmetics for selected unit unit. The
choices for unit are:

387 Use the standard 387 floating point coprocessor present major-
<вырезано>

This is the default choice for i386 compiler.

sse Use scalar floating point instructions present in the SSE
instruction set. This instruction set is supported by Pentium3
and newer chips, in the AMD line by Athlon-4, Athlon-xp and
Athlon-mp chips. The earlier version of SSE instruction set
supports only single precision arithmetics, thus the double and
extended precision arithmetics is still done using 387. Later
version, present only in Pentium4 and the future AMD x86-64
chips supports double precision arithmetics too.

> Опции гсс типа -мммх
> только лишь разрешают использование инструкций ммх, если они есть в
> коде.

These switches enable or disable the use of built-in functions that
allow direct access to the MMX, SSE, SSE2, SSE3 and 3Dnow exten-
sions of the instruction set.

Похоже что под фразой "built-in functions" тут подразумеваются функции
самого gcc.

> Если нет опции и инструкции есть в коде, как поступит копилятор?

Откомпилирует их (точнее ассемблирует их).

> 2.Дальше. Непонятным является момент такой. Можно компилить с
> оптимизацией mcpu= march=. Как я понял, mcpu позволяет оптимизировать
> код под конкретный процессор и не позволяет запускать его на другом
> проце( в смысле "семействе" процов)

Это зависит от архитектуры. Т.е. смысл опции `-mcpu' разный для разных
архитектур. Для архитектур "Intel 386 and AMD x86-64" `-mcpu'
эквивалентен `-mtune' (псевдоним), и задает оптимизацию под данный
процессор, при этом если задан `-march', то набор инструкций будет
тот, который задан опцией `-march'. Таким образом можно компилировать
код, оптимизированный, скажем под Pentium 4, но способный работать на
всем семействе i386. Что и применяется, например в Fedora.

> (в отличие от march, оторый
> оптимизирует под проц и позволяет запускать на другом семействе
> процов).

Тут Вы перепутали. `-march' задает набор используемых инструкций.
Например если задан набор инструкций `athlon-xp', то код не будет
работать на Pentium.

> В чём же заключается эта
> оптимизация, если не юзать вещи типа ммх?

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

> В чём смысл указания обоих
> аргументов(march= и mcpu=)?

Если оба значения одинаковы, то по крайней мере для gcc 3.4.2, нет
смысла указывать обе опции, достаточно указать `-march'. Как с
другими версиями gcc, не знаю.

> 3.В чём смысл сборки у себя на машине с "заточкой под конкретное
> железо"(раньше, я по наивности полагал, что именно в ммх и т.д.).
> Возможно, смысл в том, что удаляются ненужные инструкции?

Инструкции генерируются так, чтобы код работал на данном процессоре
быстрее, т.е. с учетом его внутренних особенностей.

Литература:

1. man gcc

   Konstantin Korikov 2005-03-31 20:21:21 (#343144)

Re: Какая ОСь ???

Thu, 31 Mar 2005 13:38:26 +0300, Konstantin Korikov <lostcl***@u*****.net>
писав:

>> в библиотеки записывается обьектный код, откомпилированый с
>> оптимизацией,
>
>> который линковщик линкует как ему скажешь...
>
> Ага... Значит это называется "отлинкованы с оптимизацией". Будем знать!
> :)))

я етого не говорил

   2005-03-31 15:44:19 (#343035)

Re: Какая ОСь ???

В сообщении от 1112246000 секунд после начала Эпохи Unix Вы написали:

> > Будет! Только эту поддержку нужно еще реализовать. Например glibc
> > может использовать расширение MMX для функций memcpy, strcpy и т.п
> > (они, как известно, прямого отношения к MultiMedia не имеют). Но
> > компилятор это сам из чистого C-кода сделать не может, так как не
> > обладает достаточным интеллектом.
>
> Тогда один простой вопрос:
> Почему программа откомпиленная с оптимизачией для athlon-xp не
> запустится на i686??? И причем любая программа.

Как это не запустится? Fedora Core 3 оптимизирован под Pentium 4,
(см. `RELEASE-NOTES-en' в корне первого диска) и на моем AMD K6 он
работает вполне нормально. Другое дело, когда при компиляции
использовался другой набор инструкций (`-march'), тогда программа
вылетит с "Segmentation fault", в то время когда регистр IP будет
указывать на инструкцию, которая данным процессором не поддерживается.
Другими словами, когда процессор заметит команду, которою он не знает.

Только вот не пойму причем тут MMX, 3DNOW и прочие расширения. Вить
кроме них, есть еще много разных инструкций и регистров, которые в
разных процессорах могут отличатся.

   Konstantin Korikov 2005-03-31 15:33:50 (#343029)

Re: Какая ОСь ???

В сообщении от 1112260864 секунд после начала Эпохи Unix Вы написали:

> давайте будем сначала читать мануалы а потом не будем задавать глупых
> вопросов...

Давайте.

> в библиотеки записывается обьектный код, откомпилированый с оптимизацией,

> который линковщик линкует как ему скажешь...

Ага... Значит это называется "отлинкованы с оптимизацией". Будем знать! :)))

Вообще оптимизация, которою может выполнять компоновщик - это отдельный вопрос,
и это не имеет отношения к оптимизации, объектного кода, который создается
компилятором.

   Konstantin Korikov 2005-03-31 15:33:32 (#343027)

Re[3]: Какая ОСь ??? Помогите разобраться с =?koi8-r?Q?=CF=D0=D4=C9=CD=C9=DA

On Thu, 31 Mar 2005, Андрей wrote:

> 3.В чём смысл сборки у себя на машине с "заточкой под конкретное
> железо"(раньше, я по наивности полагал, что именно в ммх и т.д.).
> Возможно, смысл в том, что удаляются ненужные инструкции?

я не в курсе как нынче обстоят дела, но когдато в древности разбирался с
оптимизацией ассемблерного кода для 286, 386, 486 и пентиумов.

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

я подозреваю, что гцц оптимизирует код именно под конкретные особенности
конвейера или там переименования регистров или чтото ещё, что именно и
делает процессор пентиум 90мгц более быстрым, чем к6 120мгц.

   Sergey Kuklin 2005-03-31 15:23:45 (#343018)

Re: Какая ОСь ???

В сообщении от 1112203181 секунд после начала Эпохи Unix Вы написали:

> Там только тормозил старый программыный звую, после
> выключения которого тормоза исчезали а после установки новой audigy я
> фильмы смотрел со звуком и без тормозов. И это на amd k6-2 400mhz старой
> noname motherboard + 64mb sdram и видео s3trio3d 4mb.

У меня AMD K6 266MHz, 64Mb RAM, S3 Virge 2mb, Creative SB16 Vibra.
Большинство фильмов смотрю нормально.

   Konstantin Korikov 2005-03-31 14:10:37 (#342971)

Re: Какая ОСь ???

On Wed, 30 Mar 2005 09:07:29 +0400
"Kanogin A.A." <kanog***@s*****.ru> wrote:

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

Что Вы подразумеваете под "обновлениями"? Выход новой версии
дистрибутива? Или, может быть, выход апдейтов?

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

   Крохин Анатолий Александрович 2005-03-31 13:40:01 (#342945)

Re: Какая ОСь ???

On Thu, 31 Mar 2005 08:26:52 +1100
Analyzer <subscribe***@y*****.ru> wrote:

> Начальный взгляд=) но вы не учли одно небольшое "НО". Что свободный
софт
> устаревает и должен обновляться гараздо чаще, чем шароварный. И только
> на пару месяцев он у вас будет свежем, а потом станет старым. И что вы
> будите делать???

Ужас!!! Софт устарел. И не важно, что он поставленные задачи решает.
Устарел - обновляй.

А я, например, до сих пор работаю под FC1. Должно быть я ретроград.

   Крохин Анатолий Александрович 2005-03-31 13:39:27 (#342944)

Re: Установка Lucent софтмодема в FC 3

On Wed, 30 Mar 2005 14:25:15 +0300
Misha Aksionchyk <int@t*****.by> писал:

>
> Приветствую
>
> Подскажите решение сабжа.
>
> Ядро 2.6.8.
> Скачал ltmodem-kv_2.6.8_1.521-8.31a8-1.i686.rpm. Стандартно сделал ему
> rpm -ivv ltmodem-kv_2.6.8_1.521-8.31a8-1.i686.rpm
> все проходит нормально. в /etc/modprobe.conf прописывается:
> alias char-major-62 lt_serial
> alias /dev/tts/LT0 lt_serial
> # вот это не могу понять, почему не /dev/ttyLT0,
> # хотя создается именно /dev/ttyLT0
> alias /dev/modem lt_serial
>
> далее проходят depmod -a, mknod /dev/ttyLT0 c 62 64, ln -s /dev/ttyLT0
> /dev/modem
>
> после выставления в system-config-network-gui /dev/modem просит
> перезагрузки, но после неё в /dev пропадает ttyLT0 и modem
> соответственно.
>
> как быть? need help

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



-*Название листа "Обсуждения и споры о свободных системах и всём сопутствующем"
Написать в лист: comp.soft.linux.debate-list@subscribe.ru
Архив Листа - http://subscribe.ru/archive/comp.soft.linux.debate Поиск: http://www.google.com
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.debate/rules
Номер письма: 2438; Возраст листа: 526; Участников: 746
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.debate/msg/342943

   Krez0n 2005-03-31 13:38:26 (#342943)

Re: Какая ОСь ???

Oleg Ponomarev wrote:
>>Начальный взгляд=) но вы не учли одно небольшое "НО". Что свободный софт
>>устаревает и должен обновляться гараздо чаще, чем шароварный. И только
>>на пару месяцев он у вас будет свежем, а потом станет старым. И что вы
>>будите делать??? Обновлять! Но как лучше обновлять??? Тянуть архивы
>>новых программ или только патчи??? Gentoo может предложить и то и
>>другое, а другие дистры??? И на сколько мне не изменяет память, то и еще
>>прекомпиленые пакеты тоже можно ставить.
> Вот читаю я вас и не пойму, что за маниакальное желание к постоянному
> обновлению дистров. Вот у меня дома стоит слака 8, обновлялось в ней
> всего две проги - мозилла и офис, все остальное и так работает :). На
> работе стоит слака 10, просто под руку диски попались, вообще ничего не
> обновлял. На одной из фирм интернет-сервером стоит вообще слака 7.1, в
> ней обновлял только проги с найденными критическими ошибками (там вообще
> ядро 2.2 стоит). И все это работает и, главное, выполняет свои функции.
> Ну чего еще надо? В чем кайф менять какую-нить версию 1.2 на 1.3, вы что
> в каждой проге используете все возможности, а при выходе новой версии
> изучаете новые фичи и начинаете ими пользоваться? И все это в сотнях
> прог? Да это просто сверх гуру :) !!!!!
> ЗЫ. Все это IMHO, конечно.
Просто установка какой-нибадь проги может потребовать апдейт большей
части системы. Тому пример - плеер amaroK или K3B. Хотя, возможно,
они и встанут на слаку 8.



-*Название листа "Обсуждения и споры о свободных системах и всём сопутствующем"
Написать в лист: comp.soft.linux.debate-list@subscribe.ru
Архив Листа - http://subscribe.ru/archive/comp.soft.linux.debate Поиск: http://www.google.com
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.debate/rules
Номер письма: 2437; Возраст листа: 526; Участников: 746
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.debate/msg/342941

   2005-03-31 13:38:00 (#342941)

Re[2]: Какая ОСь ???

Здравствуйте, Analyzer.

Вы писали 30 марта 2005 г., 13:24:54:

A> Tue, 29 Mar 2005 21:25:53 +0400 ко мне пришло письмо, в котором...
A> "Kanogin A.A." <kanog***@s*****.ru> писал(а):

>> A> Да и обладатели простых athlon xp 2000+ тоже без ума=)
>> У меня 2200+ - таки долго - суток двое, до нормально рабочей
>> системы... я чё-то и гнома собираю
>> и кде.

A> Ну тыж не за раз их собираешь.
%)) Такое ощущение, как будто при тебе это было...

A> KDE - это действительно на часов 9~10. А
A> вот гном - на 3~4max. Так что... а для ежедневного обновления системы
A> (пересборки все обновившихся пакетов) вообще минут 10, если там конечно
A> не нового kde выпустили.
я остановился на не частых обновлениях. Только изредка доставляю чё-нить новенькое
- ну там
vsftpd.

   "Kanogin A.A." 2005-03-31 13:37:45 (#342940)

Re[2]: Какая ОСь ???

Здравствуйте, Analyzer.

Вы писали 31 марта 2005 г., 1:26:52:

A> А где вы ее возьмете??? А компилируете вы лично ?? тогда действительно
A> сложно, но если все обновления делаются вводом одной команды. Тогда не
A> нужно ничем особенно заниматься.
ни одна из систем не дает такой тонкой настройки при установке софта, - другие
дистры тянут
кучу всего ненужного.
А обновление или установка пакета напоминает оффтопик,- просто набрал имя пакета
для emerge - и
установка пошла...
ядро откомпилить надо:
Так набрал: genkernel all --menuconfig
и он тебе примонтирует бут раздел и предоставит конфигурацию ядра, и установит
его, останется
только добить ядро в grub.conf и всё... никаких заморочек с чтением манов по
ручной установке
ядра.

   "Kanogin A.A." 2005-03-31 13:37:10 (#342938)

Re: Какая ОСь ???

Wed, 30 Mar 2005 15:09:03 +0300, Konstantin Korikov <lostcl***@u*****.net>
писав:

> А как это "отлинкованы с оптимизацией"? Это что, типа в библиотеки
> записывается информация "Линковщик! Линкуй быстерее!" :)))

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

   2005-03-31 13:20:07 (#342926)
  • 1
  • 2