Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Работа с Intel C++ в различных IDE и не только

Автор: TeXpert
Дата сообщения: 09.02.2009 14:59
По многочисленным просьбам трудящихся-вычислителей открывается тема. Приглашаю обсудить особенности работы, ошибки-глюки, тонкости работы компилятора от ведущего производителя чипов, под разными ОС, с разными IDE (и без оной, то есть, в голом виде)) типа Visual Studio .NET 2003/2005/2008 под Windows-платформ и Eclipse под Linux. Также будет интересно сравнивать скорость исполнения одного и того же кода на одной и той же машине, но под разными ОС. Кто-нибудь пытался ставить под FreeBSD, например? Ещё интересует, насколько эффективна библиотека Intel Math Kernel Library, какие библиотеки сторонних производителей рекомендуете?
Автор: AZA_N
Дата сообщения: 09.02.2009 17:14
Началось обсуждение тут.

Сейчас у меня для расчетных программ в С++ (на виртуалке) стоят CERN Scientific Linux 5.2 (Ссылка1, Ссылка2) и Ubuntu-8.04.1. Использую библиотеки Geant4, CLHER, AIDA, PI, ROOT. Сейчас сижу, в основном, в ubuntu (он показался проще). Пока еще не решила, какой дистрибутив выбрать. И стоит ли перейти на Intel C++ c GCC, и на х64 с х86, чтобы шустрее считалось, или только получу кучу проблем с пересборкой библиотек?


Цитата:
какие библиотеки сторонних производителей рекомендуете?

IMSL (не знаю, как для С++, а для фортрана - ОК) Добыча IMSL - с оф. сайта, лиц. - в варезе. А clhep и т.п. - это с открытыми кодами.
Автор: TeXpert
Дата сообщения: 09.02.2009 17:40
AZA_N
Кстати, параметры ВМ какие? Память там, процессор какой выставлен?
Насчёт дистрибутива Linux -- остановился на Red Hat Enterprise Linux 5.2, считаю, что это -- лучший (Scientific Linux -- его клон). Ubuntu перегружен ненужными вещами и хамоват, это для простого пользования
Цитата:
...ubuntu (он показался проще)
Уж поверь -- RHEL 5 намного проще как в установке, так и в управлении, ничего там лишнего нет. Да и листрибутив в виде DVD-iso весит примерно лишь 2,8 Gb
Цитата:
Использую библиотеки Geant4, CLHER, AIDA, PI, ROOT
Ужас как много). Я даже впервые их слышу, они что, на C++ исключительно? Сомневаюсь, просто на Fortran'е было накопленного очень много. Насколько знаю, есть какая-то очень крутая коммерческая библиотека, надо попробовать вспомнить
Цитата:
И стоит ли перейти на Intel C++
Думаю, стоит хотя бы потому, что это от производителя процессоров -- ну кто кроме них может все аспекты учесть? А gcc всё-таки немного по-другому заточен
Автор: AZA_N
Дата сообщения: 09.02.2009 17:56
На WinXPx64SP2 стоит VMware Workstation 6.5.1.126130, на ней Ubuntu с 3Гб (вылетала задача при увеличении размерности массива, поэтому 3, а так до 2Гб обратно опущу) и одним ядром, SciLinux с 2Гб и двумя ядрами, оба 32разрядные.

Geant4 и иже с ним - я с этой кашей только разбираюсь (т.е. уже считаю, но еще не въехала, также как и в c++ и linux). Да, они на С++, все исходники доступны - хоть под себя переписывай. В clhep кое-что из Numerical Recipes.
Автор: TeXpert
Дата сообщения: 09.02.2009 18:09
AZA_N
Я бы попробовал так (я всегда ставлю много ОС, хотя и виртуалками не брезгую): поставил бы 64-разрядные Linux (конечно же, RHEL 5)) в качестве альтернативных ОС, то есть, с меню загрузки Windows и Linux. К слову, вобще не признаю Windows XP в качестве рабочей ОС -- обычно работаю под Windows Server 2003, XP'ень в этом смысле почти ни на что не годен. И уж основные расчёты собираюсь вести либо под Linux, либо под FreeBSD -- уж очень много в Windows графическая оболочка отжирает ресурсов, и с этим ничего не поделаешь -- нельзя её открутить, как в Unix-системах(. А управлять Unix-машиной очень удобно по сети, через ssh -- быстро и удобно (и безопасно), например, я с лаптопа или с основного настольного окмпа управляю Linux-машиной

Мораль: переходи на Intel C++, вместе веселей осваивать)
Автор: akaGM
Дата сообщения: 09.02.2009 18:12

Цитата:

Цитата: И стоит ли перейти на Intel C++

Думаю, стоит хотя бы потому, что это от производителя процессоров -- ну кто кроме них может все аспекты учесть?
Автор: AZA_N
Дата сообщения: 09.02.2009 18:20
TeXpert, в WindowsXPx64 - ядро то от Windows Server 2003. XPx86 конечно никуда не годится.

Цитата:
переходи на Intel C++, вместе веселей осваивать
Перешла бы, да сейчас некогда страшно. Надо срочно получить физически достоверные результаты тестовых расчетов (хоть через ж.., мне от своих сляпанных прог на с++ самой смешно, а в линуксе я работаю а-ля dos_команды, надо бы хоть книжки почитать), а потом, если время будет, начну разбираться.

Вопрос с IDE в Linux остался открытым. Что лучше - Eclipse или Anjuta. И кто что вообще использует? (ну, кроме, ясное дело, коммандной строки).
Автор: TeXpert
Дата сообщения: 09.02.2009 18:38
akaGM
Цитата:
то чем IF не подходит?
А тем, что на Fortran'е я программировал в далёком детстве и с тех пор много воды утекло, а нововведения изучать некогда, ведь язык сильно модифицирован, а вот C я довольно хорошо знаю, и могу многопоточные программы писать, и на WinAPI я себя чувствую как рыба в воде, а чтобы приплетать всё это в Fortran -- надо опять тонкости изучать, зачем мне оно надо? Да и существенного выигрыша не будет
Цитата:
что может быть круче NAG'a, IMSL или PORT'а?
Пасиб, покопаю). А ещё надо учесть, что прежние библиотеки писались по-старому -- для однопоточного, грубо говоря, подхода. А мне интересен многопоточный подход, и Intel MKL кое-что тут предлагает, да и самому можно алгоритм намутить

AZA_N
Кстати, если тебе надо "любой ценой" -- не пробовала Mathematica/Maple для Linux? Уж там-то сэкономишь в кодировании)

Добавлено:

Цитата:
Вопрос с IDE в Linux остался открытым. Что лучше - Eclipse или Anjuta. И кто что вообще использует?
Eclipse, даст Бог, скачаю завтра (сейчас моя Linux-машина работает качалкой -- осталось немного докачать Red Hat Enterprise Linux 5.2 Client, и ещё качается SEP последний русский), вот тогда попробую. Кстати, в KDE есть IDE, очень напоминающий Visual Studio, как-нибудь потом попробую её натравить на Intel C++, для этого есть подхоящий быстрый вариант -- ставить PC-BSD, это десктопный вариант FreeBSD, практически то же самое, но с удобным графическим инсталлятором, поставил себе на лаптоп в качестве одной из систем, кстати, никаких дров не пришлось ставить вручную -- очень рекомендую
Автор: akaGM
Дата сообщения: 09.02.2009 19:21
TeXpert
"малая кровь" и "любой ценой" -- это

-физ. модель
-мат. модель
-реализация

когда же речь заходит о типе и свойствах ОСи, VM, IDE, GUI, WinAPI и прочем, то это уже совсем дугое кино, становящееся самоцелью...


Цитата:
что на Fortran'е ... нововведения изучать некогда в Fortran -- надо опять тонкости изучать, зачем мне оно надо?

правильно, не надо... не надо никому...
тот же НАГ и ИМСЛ написаны на 66-стандарте (С) 1985-87 год и с тех пор не менялись
алгоритмически ни на йоту...
я думал, что

Цитата:
просто на Fortran'е было накопленного очень много.

личное накопление, а не желание пользоваться сторонним...

Цитата:
А мне интересен многопоточный подход, и Intel MKL кое-что тут предлагает

что тут можно предложить? считать несчастного бесселя не 5*10^-12, а 10^-12 секунд?

хотя, конечно, я не знаю круг/тип задач, может быть тут все сидят в качестве программистов под физиками/математиками, тогда, как я уже говорил, это совсем другое кино...
Автор: TeXpert
Дата сообщения: 09.02.2009 19:35
akaGM
Цитата:
...когда же речь заходит о типе и свойствах ОСи, VM, IDE, GUI, WinAPI и прочем, то это уже совсем дугое кино, становящееся самоцелью...
Не согласен, это побочные вещи, не самоцель. Потом, хорошая IDE немало значит
Цитата:
желание пользоваться сторонним...
Ну, стандартные вещт зачем самому-то писать?)
Цитата:
что тут можно предложить? считать несчастного бесселя не 5*10^-12, а 10^-12 секунд?
Это ты утрируешь, однако
Цитата:
хотя, конечно, я не знаю круг/тип задач, может быть тут все сидят в качестве программистов под физиками/математиками, тогда, как я уже говорил, это совсем другое кино...
Ну, вообще-то я сам математик
Автор: akaGM
Дата сообщения: 09.02.2009 20:24
TeXpert

Цитата:
Не согласен, это побочные вещи, не самоцель.

а я про что? вот именно, что побочные, но для кого-то это просто хлеб...
а вот когда такими вещами начинают "озабочиваться" люди типа
Цитата:
Ну, вообще-то я сам математик
или меня...
то это становится самоцелью, и надо менять ориентацию, ака точку приложения своих способностей, интересов...

Цитата:
Это ты утрируешь, однако

ничуть...
что мне может дать эта библиотека, если 97% моего времени уходит на работу с физикой и аналитикой?

Цитата:
Ну, стандартные вещт зачем самому-то писать?

абсолютно незачем, я к этому и не призываю...


Цитата:
Ну, вообще-то я сам математик

аналогичный случай был у нас в Тбилиси...
типа коллега...
Автор: TeXpert
Дата сообщения: 09.02.2009 20:55
akaGM
Цитата:
...то это становится самоцелью, и надо менять ориентацию, ака точку приложения своих способностей, интересов...
Борис, ты не прав!) Просто, некоторые вещи я один раз выясняю, с тем, чтобы больше не возвращаться, согласен, это требует времени, зато в последующем экономит кучу времени и усилий

А вот в Тбилиси как-то не приходилось бывать)
Автор: akaGM
Дата сообщения: 09.02.2009 21:08
TeXpert

Цитата:
Просто, некоторые вещи я один раз выясняю, с тем, чтобы больше не возвращаться, согласен, это требует времени, зато в последующем экономит кучу времени и усилий

это ты об идеальном случае говоришь... или об идеальном работнике...
я поначалу тоже так к этому относился, но со временем понимаешь, что жизнь коротка....
но это уже не к "прикладному программированию", а скорее к "прикладной философии" относится...
в общем, не очень понимаю, зачем нужна IMKL если кто-то будет играться с твоими программами на cell'ах или Креях?


Цитата:
А вот в Тбилиси как-то не приходилось бывать

мне тоже...
это из очень старого анекдота, для нас ключевое слово здесь "аналогично"...
Автор: TeXpert
Дата сообщения: 09.02.2009 21:27
akaGM
Цитата:
...я поначалу тоже так к этому относился, но со временем понимаешь, что жизнь коротка....
Ну, я и так давно уже сузил круг своих интересов, так что не волнуйся. Тот же опыт мне много раз уже подсказывал -- если я поленюсь что-то сделать, причём один раз, то потом в итоге времени на мелочах гораздо больше потеряю, уж поверь, это всё на основе опыта
Цитата:
...но это уже не к "прикладному программированию", а скорее к "прикладной философии" относится...
Да, что-то ты какой-то мрачный, даже более близок к мракобесию) Вот это
Цитата:
...в общем, не очень понимаю, зачем нужна IMKL если кто-то будет играться с твоими программами на cell'ах или Креях?
-- тому лишнее подтверждение, злобствуешь, однако. Ну кто мне даст Cray-то?) У меня и задачи более скромные, более того, они больше модельные. Надеюсь, знаешь, что такое? Это типа простое уравнение типа Бюргерса (или, Хопфа) -- уравнение простое по форме, но в то же время довольно содержательное, ибо служит простейшей моделью нетривиальных физических явлений

Что-то мы офтопим, однако
Автор: akaGM
Дата сообщения: 10.02.2009 15:16
TeXpert
ничего я не злобствую, тебе показалось, ты мне дорогу не переходил, с чего бы мне?
и откуда я могу знать, что твои программы строго на винды ориентированы?
библиотеки общего назначения они есть common slots...
нужен мне, например, очень шустрый синус на х86, так я его тогда fsin зафигачу...
но это так...

а от Крея как от тюрьмы и сумы...
мне тоже его никто не давал... дали юзерский аккаунт по-тихому и я первым делом его почти что повесил... вот тогда уж и пришлось соблюдать строго стандарт, аж пустые строки комментировать на всякий случай (как на Vax VMS)
так что если нужна настоящая межплатформа, не операционная, то бери NAG, порт на Сях, естественно, имеется...
Автор: TeXpert
Дата сообщения: 10.02.2009 15:31
akaGM

Цитата:
...и откуда я могу знать, что твои программы строго на винды ориентированы?
Ну, я собираюсь разные писать
Цитата:
...а от Крея как от тюрьмы и сумы...
Ну-ну, не каркай, даст Бог, обойдёмся и без них. Конечно, есть возможность выйти на кластерную систему, но там наверняка будут сильные ограничения, а мне пока свобода важна, да и не собираюсь пока уж такими глобальными расчётами заняться)
Цитата:
...так что если нужна настоящая межплатформа, не операционная, то бери NAG, порт на Сях, естественно, имеется...
Да, кажется именно про эту библиотеку я как раз слышал краем уха, обязательно покромсаю, спасибо
Как понимаю, ты работаешь в буржуйстане?
Автор: akaGM
Дата сообщения: 10.02.2009 16:11
TeXpert

Цитата:
Как понимаю, ты работаешь в буржуйстане?

да нет...

о НАГе вот:
http://www.nag.co.uk/numeric/CL/CLdescription.asp

а ещё порой в нашем фортран-топике в шапке, там я немного сцыл набросал, может и пригодится что...
Автор: TeXpert
Дата сообщения: 10.02.2009 16:21
akaGM
Ясно, пасиб, ща варезник прошерстю, на предмет добычи оной)
Автор: TeXpert
Дата сообщения: 27.02.2009 19:58
Продолжение обсуждения отсюда

akaGM
Цитата:
...всегда хватало даблов, т.к. обычно строю мат.-модель, в кот. параметры имеют значение в диапазоне 1..10, если что, то показатели таскаю отдельно, т.е. обычно перенормирую...
Модель -- не моя, так что тут вопрос отпадает, хотя надо и в этом направлении прикидки делать
Цитата:
...твои 10^-18 -- уже не дабл, в смысле значащих цифр...
Это почему же? Вроде укладывается в диапазон
Автор: akaGM
Дата сообщения: 27.02.2009 21:21
TeXpert

Цитата:
Это почему же? Вроде укладывается в диапазон

в какой диапазон? в 10^-308 ?

ты ж вроде Сишник? вот и глянь:

Код:
float.h

#define DBL_DIG 15 /* # of decimal digits of precision */
#define DBL_EPSILON 2.2204460492503131e-016 /* smallest such that 1.0+DBL_EPSILON != 1.0 */
Автор: TeXpert
Дата сообщения: 27.02.2009 21:58
akaGM
Ну, это гиблое дело, всё высматривать по заголовочных файлах (вернее, это отражает конкретную реализацию под кокретную платформу), вот я и смотрю на определения -- например, хотя бы тут (согласен, не лучший источник, но для быстрой справки пойдёт). Ну, есть ещё возможность 64-разрядного double, да и ключи те компилятора, так что поэкспериментировать придётся, о результатах доложу
Цитата:
#define DBL_DIG 15
Это мало, но есть же ещё long double?
Автор: TeXpert
Дата сообщения: 01.03.2009 03:32
Серия интересных тестов [more="Умножение матриц"]
http://blog.lexa.ru/2007/01/04/o_peremnozhenii_matric_i_prochix_arxitekturnix_zamorochkax.html
http://blog.lexa.ru/2007/01/20/umnozhenie_matric_int_float_i_double.html
http://blog.lexa.ru/2007/01/27/umnozhenie_matric_serija_3_woodcrest_protiv_opteron_acml_protiv_mkl_goto_blas_protiv_vsex.html
http://blog.lexa.ru/2007/02/22/umnozhenie_matric_serija_4_nvidia_g80_cuda_cublas_i_rapidmind.html
[/more] от Алексея Тутубалина
Автор: akaGM
Дата сообщения: 02.03.2009 14:52
TeXpert

Цитата:
Ну, это гиблое дело, всё высматривать по заголовочных файлах

зачем высматривать по хидерам? это IEEE 754-стандарт, и его просто надо знать, работая с плав.точкой...
Автор: TeXpert
Дата сообщения: 02.03.2009 18:38
akaGM
Цитата:
зачем высматривать по хидерам?
Ха, цитирую Кернигана и Ритчи:
Цитата:
Именованные константы для всех размеров вместе с другими характеристиками машины и компилятора содержатся в стандартных заголовочных файлах <limits.h> и <float.h> (см. приложение B)

Цитата:
...это IEEE 754-стандарт, и его просто надо знать, работая с плав.точкой...
Я разве отрицаю?
К нашим услугам есть 64-х разрядный double к тому же, вот только надо машину взять новую (а то вот на Pentium 4 пока сижу -- до этого хватало))
Автор: akaGM
Дата сообщения: 02.03.2009 19:12
TeXpert
для х86 ещё есть 80-битные плавающие...
void main() {
_LDOUBLE ld;

printf("%d %le\n", sizeof(ld), ld);
}

только это как-то не того для языков высок. уровня, по-моему...

-----
у меня нет ИнтелС, но вот ИнтелФортран real(16) поддерживает...
Автор: TeXpert
Дата сообщения: 02.03.2009 19:32
akaGM
Есть, конечно, стандартный даже тип -- long double, но всё равно, железячная поддержка лучше, а прототипы функций в MKL принимают double, вот и решил не рисковать софт-реализациями расширенных, так скажем представлений
Цитата:
...у меня нет ИнтелС, но вот ИнтелФортран real(16) поддерживает...
Обычно, "с точностью до изоморфизма" все языки (тем более, компиляторы от одного производителя) поддерживают одно и то же. Естественно, под языком понимается, к примеру, не Базик)
Автор: akaGM
Дата сообщения: 02.03.2009 19:42
TeXpert

Цитата:
Есть, конечно, стандартный даже тип -- long double

только в МС-С -- это вроде алиас дабла, а у Борланда, кажись, честные 80-битники...

что же ты такое считаешь, что простых даблов не хватает?
Автор: TeXpert
Дата сообщения: 02.03.2009 19:54
akaGM
Цитата:
что же ты такое считаешь, что простых даблов не хватает?
Так писал же раньше -- необходимость обращения матриц с большим числом обусловленности, я и сам раньше с ними дела не имел, а тут предложили. Там, при малейшем изменений после запятой какого-нибудь элемента, можно получить огромные изменения в элементах обратной матрицы. Особенно прикольнуло, что считавший человек пожаловался, мол, и на Excel есть функции обращения матриц, аж до размеров до 52, но жаловался на неточность опять же (надо же, оказывается можно и так извращаться). И ещё говорил, что MatLab у него "режет цифры после запятой" (нее помню, сколько режет). Но тут, скорее всего, его неумение им пользоваться -- я MatLab не пользую. А когда я ему обратил его небольшую матрицу (144) на Maple (стареньком, на 7), с 40 значащими цифрами, он был в восторге)
Автор: akaGM
Дата сообщения: 02.03.2009 20:13
TeXpert

Цитата:
необходимость обращения матриц с большим числом обусловленности

это следствие -- "как", а вот "что" может потребовать 40 значащих цифр?

а Мапле ещё и надо иметь на клиенте...
кстати, МатЛаб создавался (и назван) именно для матриц -- "Матричная Лаборатория", а не "Математическая", как все полагают...
Автор: TeXpert
Дата сообщения: 02.03.2009 20:48
akaGM
Цитата:
это следствие -- "как", а вот "что" может потребовать 40 значащих цифр?
Уже писал -- модель на моя, кстати, её автор -- известный математик, я ему понадобился для численной реализации его идей. А 40 знакчащих -- это была демонстрация
Цитата:
а Мапле ещё и надо иметь на клиенте...
Говорю же, и раньше подчёркивал -- это для теста, да и для проверки, для повседневного счёта это вряд ли годится
Цитата:
кстати, МатЛаб создавался (и назван) именно для матриц -- "Матричная Лаборатория", а не "Математическая", как все полагают...
Да, я уже где-то читал об этом

Страницы: 12

Предыдущая тема: Использование DevExpress (часть 3)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.