Добро пожаловать в сеть Intel® Software Network вход | зарегистрироваться | помощь |
Поиск в форумах и блогах Intel® Software Network
в Вперед

общий вопрос

Последнее сообщение 06-21-2008, 17:19 размещено mt2. Ответов - 52.
Стр. 1 из 4(элементов - 53)   1 2 3 4 Вперед >
Сортировать сообщения: Назад Вперед
 11-03-2007, 0:54 30220903  

общий вопрос

а я язык на котором можно реализовать задание не важен? то есть можно ли использовать к примуру Java с библиотекой Thread ?

заранее спасибо
 
 11-03-2007, 10:02 30220904 в ответ на30220903  

На: общий вопрос

Наверное можно (см. тему Язык МС# и американский форум), единственное условие: у судей должен быть компилятор - т.е. Вы должны дать действующую ссылку для его выгрузки или же приложить компилятор к решению. То же относится и к библиотекам.

 
 11-05-2007, 19:36 30220907 в ответ на30220904  

На: общий вопрос

Тут возникает еще один связанный вопрос, я его продублировал и на US: не знаю, где раньше ответят - там сдвиг со временем, а здесь праздники. А вопрос такой, мне раньше не приходилось использовать tbb - не было задач, а вчера посмотрел tbb, за которые дают до 100 доп. очков, и обнаружил, что в списке поддерживаемых компиляторов только С++. Если другие языки действительно не поддерживаются, получается своеобразная языковая дискриминация, те, кто программируют на С++, смогут за каждый тур получать на 100 очков больше, чем те, кто на других языках...

 
 11-06-2007, 13:46 30220913 в ответ на30220907  

На: общий вопрос

Так оно и есть - китаец, который занял место в 1-ом туре,

получил 100 за само решение + 100 за использование Intel TBB +

85 баллов присудило ему жюри.

 
 11-06-2007, 17:24 30220914 в ответ на30220907  

На: общий вопрос

Ну что можно сказать, боюсь, что "языковая дискриминация" действительно будет присутствовать. Объясняется это тем, что Intel исторически поддерживает С++, как язык, который используется для написания большого количества вычислительноемких программ. А Intel, как производитель высокотехнологичного аппаратного обеспечения приветствует данные разработки. Поэтому ничего удивительного в том, что разработчики использующие его и применяющие другие инструменты Intel имеют привилегии. Но расстраиваться нет смысла - во-первых, не во всех задачах используется TBB, а во вторых есть и другие способы заработать баллы ;) На каком языке Вы пишете? Больше о том, почему С++ можно почитать здесь http://threadingbuildingblocks.org/wiki/index.php?title=General_Questions_about_TBB#Why_does_C.2B.2B_need_this.3F и здесь http://threadingbuildingblocks.org/wiki/index.php?title=Using_TBB#Why_did_you_offer_TBB_on_C.2FC.2B.2B_instead_of_say_C.23_or_Java.3F
Марианна Светлосанова
Intel® Software Network
 
 11-07-2007, 14:43 30220916 в ответ на30220914  

На: общий вопрос

Исторически Intel поддерживает не только С++, но и Фортран, на котором было написано большое количество вычислительноемких программ, еще до появления С. Например, программа Гауссиан для квантовохимических расчетов, получившая несколько лет назад Нобелевскую премию. Я же использую Delphi. Судя по интернету и по количеству издаваемых книг, этот язык имеет завидную популярность. Кстати сказать, год назад (не знаю, как сейчас) Intel поддерживал Delphi как минимум в двух своих инструментах VTune и MKL. У меня было довольно длительное обсуждение по этим вопросам с Intel Premier Support (наверное, Вы, Марианна, как сотрудник Intel, имеете доступ к файлам этого обсуждения). Таким образом, теоретически, решая задания на Delphi, я могу использовать как минимум два инструмента Intel, не считая третьего - "железа" от Intel, которым пользуются все участники. Поэтому не совсем понятно (а точнее, совсем непонятно:), почему Intel поощряет только использование TBB и не поощряет также использование других своих продуктов.

Далее. По вопросу, насколько хорош С++ как язык, нет полного единодушия даже среди энтузиастов С. См., например, главу 1 книги Э.Троелсен, С#  и платформа .NET, СПб: Питер, 2004. В отношении реализации компиляторов С++ стоит прислушаться к мнению такого известного эксперта в области анализа программ, как Крис Касперски: "... все известные мне реализации С++ компиляторов генерируют ну очень кривой и тормозной код!" (Крис Касперски, Фундаментальные оновы хакерства, Искусство дизассемблирования, М.: СОЛОН-Пресс, 2004, с.142.) Интересное обсуждение на эту тему сейчас идет и в http://en.wikipedia.org/wiki/Comparison_of_Pascal_and_C (особенно стоит прочесть страницу обсуждения к этой статье). Почему я использую Object Pascal (Delphi)? Потому что этот язык сильно экономит мое время при разработке новых алгоритмов, получаемый при этом исходный код легко читаем, его просто подготовить для публикации в журнале или книге. Эффективность изготовленных программ не уступает, а иногда и превосходит аналогичные программы, написанные на других языках (это, в частности, показало вышеупомянутое обсуждение с  Intel Premier Support). У программистов, которые не занимаются, как я, научными исследованиями и не разрабатывают новые алгоритмы с нуля (или почти с нуля), могут быть иные цели, и другой язык может показаться им удобнее. 

Сказанное не стоит воспринимать как нападки на С++ и тем более на Intel. Интел давно уже велик своим "железом" - еще с 8086:) О любом другом распространенном языке можно сказать подобное сказанному о С++. Сегодня нет языка, который стоит превозносить до небес в ущерб другим. Но! особое место среди языков навсегда принадлежит низкоуровневому ассемблеру. При большом желании предлагаемые задания можно решить на ассемблере очень эффективно. Таким образом, может сложиться парадоксальная ситуация, когда ассемблерное  решение получит меньше очков, чем решение на С++ и TBB, хотя будет и быстрее и элегантнее - про элегантные решения на ассемблере написаны тонны книг (в том числе и Интелом), и можно утверждать, что у участника, одинаково хорошо владеющего и ассемблером, и языком высокого уровня больше возможностей удивить судей решением на ассемблере, чем на языке высокого уровня. 

 
 12-12-2007, 17:13 30220978 в ответ на30220916  

На: общий вопрос

Согласен, это выглядит как дискриминация... Однако все не так просто. Ведь если не начать с малого (в данном случае - узнать, насколько удобена разработчикам библиотека TBB в данной версии, для C++), то как можно говорить о ее дальнейшем развитии? Я тут изложил еще кое-какие мысли обо всем об этом в своем блоге, и, конечно, я послал ссылку на форум и блог нашим ребятам из TBB.

Дмитрий Оганезов
Intel® Software Network
 
 12-14-2007, 3:04 30220980 в ответ на30220978  

На: общий вопрос

Да, Дмитрий! Все не так просто.

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

В частности, Вы написали в своем блоге: "Существуют категории программного обеспечения, где производительность оправдывает любые средства, например какая-нибудь сложная математика, [де]кодирование медиа данных и т.п. В данном случае выбор С++ почти очевиден. " -- Совершенно не очевиден. Поясните, пожалуйста! В частности, не далее как год назад Ваши коллеги из американского Интела объясняли мне, что Фортран (а не С++) поддерживается Вашей Компанией именно "для сложной математики", хотя для моей математики (Компьютерная химия, гигантский рынок новых лекарств и т.д.) MKL тогда показала не совсем удовлетворительные результаты... Что очевидно, так это то, что ассемблер теоретически всегда будет иметь преимущество в производительности перед любым высокоуровневым языком -- ассемблер включает в себя все инструкции процессора, допуская полный факториал их сочетаний, а любой высокоуровневый язык ограничивает это множество. Другое дело, что писать на ассемблере всю программу, включая чистую рутину, слишком трудоемко. Ладно, ассемблеру принадлежит исключительная роль, но вот что кому-то удалось с математической строгостью доказать, что именно С++, но не С, и не С# и не многие другие языки программирования обеспечивает исключительную производительность - я об этом не слышал. Напротив, я привел мнение общеизвестного эксперта о низком качестве реализации С++ компиляторов. Поскольку таких компиляторов уже было реализовано довольно много, правомерно задать вопрос: "А возможно ли вообще реализовать хороший компилятор С++?" Говорят, подобный вопрос задали когда-то себе в Пентагоне в отношении языка Ада, и после нескольких попыток отказались от этого языка. Может, и С++ постигнет в конце-концов такая же судьба?

Как бы то ни было, до недавнего времени у меня, как и у многих других пользователей Вашей Компании (Интела), было впечатление, что Компания делает равные ставки на нескольких лошадок (С, С++, Фортран), а также поддерживает и Дельфи в таких, например, приложениях, как упомянутый Вами VTune. Может, я не знаю последних релизов Интела, и ставки изменились? Поэтому ВОПРОС:

Где именно (ссылка) Интел официально заявил, что Интел С++ значительно превосходит в производительности Интел С, Интел Фортран и Интел ассемблер?

 
 12-19-2007, 1:38 30220985 в ответ на30220980  

На: общий вопрос

Конечно же, из перечисленных Вами языков - самый "быстрый" - Фортран. В индустрии для научных и прикладных расчетов используется гораздо масштабнее Дельфи и даже С++ (СД-Адапко, Пам-краш, ЛАПАК и т.д.)

Так получилось (и я во многом согласен с оценкой Криса, хотя и из-за других соображений, а не из-за эфективности), что С++ наиболее широко используется в индустрии для прикладных задач, где производительность действительно важна (телеком, финансы, большие базы данных, и т.д.). (Я могу сравнивать, т.к. как консультант общался с десятками компаний в России, Европе и сев Америке)
Поэтому совершенно логично, что Интел выпустил ТББ изначально как С++ библиотеку, и продвигает ее (на мой взгляд, все еще недостаточно активно) в том числе и добавляя баллы в этом соревновании.

Популярность Дельфи и Паскаля - Российский феномен.

Кстати, Марианна,  мне пришлось перерегистрироваться, т.к. старый логин не работал, так у вас в списке стран есть почти вся африка, но нет Новой Зеландии. Пришлось примазаться к соседям - Австралийцам.

Саша
izard.livejournal.com


 
 12-19-2007, 11:06 30220986 в ответ на30220985  

На: общий вопрос

Ну а как ты хотел ;) иногда не совсем очевидно, что европа не одна страна а много разных, а тут новая зеландия :) постараюсь внести изменения.. то что пароль не работает не удивительно, ты был зарегин как сотрудник интела.
Марианна Светлосанова
Intel® Software Network
 
 12-19-2007, 20:54 30220987 в ответ на30220985  

На: общий вопрос

alex_kom:
Конечно же, из перечисленных Вами языков - самый "быстрый" - Фортран. В индустрии для научных и прикладных расчетов используется гораздо масштабнее Дельфи и даже С++ (СД-Адапко, Пам-краш, ЛАПАК и т.д.)

Так получилось (и я во многом согласен с оценкой Криса, хотя и из-за других соображений, а не из-за эфективности), что С++ наиболее широко используется в индустрии для прикладных задач, где производительность действительно важна (телеком, финансы, большие базы данных, и т.д.). (Я могу сравнивать, т.к. как консультант общался с десятками компаний в России, Европе и сев Америке)
Поэтому совершенно логично, что Интел выпустил ТББ изначально как С++ библиотеку, и продвигает ее (на мой взгляд, все еще недостаточно активно) в том числе и добавляя баллы в этом соревновании.

Популярность Дельфи и Паскаля - Российский феномен.

Саша
izard.livejournal.com


Как-то противоречиво это выглядит: с одной стороны Вы считаете, что Фортран – самый быстрый (непонятно, при этом почему "быстрый" в кавычках?), с другой стороны, «где производительность действительно важна» почему-то используется  С++. А позвольте спросить: «в индустрии  для научных и прикладных расчетов» производительность разве не важна? Непонятно, из каких «других соображений», кроме эффективности, можно быть во многом согласным с оценкой Криса. И т.д., сожалею, но в основном общие слова, как при общении с десятками тысяч компаний из США, Европы, и с десятками компаний из России. Можете сравнить, компании везде одинаковы – в том, что каждая хвалит свой продукт и используемые для его изготовления инструменты. Поскольку Вы консультант и, следовательно, аналитик, то, согласитесь, что объяснение «Так получилось» для Вас как аналитика не подходит: это все равно, что аналитику в экономике заявить «так получилось, что цены на нефть и золото на мировом рынке растут». Будете Вы дальше читать подобный «анализ» о состоянии рынка? Я, например, не буду… Поэтому совершенно НЕЛОГИЧНО ( в Вашем изложении) выглядит выбор Интела для  ТББ (как

только С++ библиотеки).

 

А вот, что Интел продвигает ТББ недостаточно активно, – я здесь с Вами совершенно согласен. Более того, не продвигает, а скорее «задвигает», в том числе, добавлением баллов в этом соревновании. Это выглядит как антиреклама: как фора для заведомо слабого продукта. Когда взрослый дядя, неплохо играющий в шахматы, садится играть с ребенком, он, этот дядя, чтобы хоть как то уравновесить возможности, дает ребенку фору, например, снимает с доски своего ферзя и ладью. Странно, что никто из многочисленных маркетологов Интела не подумал об этом бросающемся в глаза несообразии, не подумал, что команда ТББ по завершению всех заданий конкурса сможет сказать только одно: «по результатам несправедливых соревнований, имея значительную фору ТББ победил»… Также непродуманно начисляются дополнительные баллы за использование других продуктов Интела в данном конкурсе. А ведь достаточно того, что эти продукты позиционированы как «увеличивающие производительность» - разве это не достаточный резон для участников использовать эти продукты прежде всего, чтобы получать баллы за производительность, опережая решения, в которых эти сверхбыстрые продукты не используются. Дополнительные же баллы наводят на подозрения в необоснованном позиционировании, и будь бы на месте Интела другая менее известная компания, могли бы породить подозрение даже в недобросовестной рекламе. Скорее наоборот, в чисто рекламных целях стоило бы присуждать дополнительные баллы за НЕ ИСПОЛЬЗОВАНИЕ продуктов Интела. (Тогда по результатам можно было бы заявить, что, несмотря на неравные условия, победа досталась продукции Интела.) Более того, и по отношению к собственным продуктам в этом конкурсе происходит дискриминация. Так,  очень полезный для данных заданий VTune оказался за бортом, поскольку судьи так и не придумали, как проверить факт его использования участником.

 

Также Вы считаете, что «Популярность Дельфи и Паскаля - Российский феномен.» Никаких обоснований этому мнению Вы не приводите. Но если посмотреть по Интернету, можно видеть, что львиная доля ресурсов для Дельфи и Паскаля не из России.

 

 

 

 
 12-20-2007, 1:02 30220988 в ответ на30220987  

На: общий вопрос

Согласен с Вашей критикой - я действительно привел свое мнение, но не включил никакого обоснования. Исправляюсь частично.

Я включил эпитет быстрый по отношению к Фортрану в кавычки, т.к. считаю, что можно закодировать расчетный алгоритм на С так же эффективно, что и на Фортране - просто это сделать сложнее, плюс на С может не найтись необходимых библиотек. Главный недостаток Фортрана - его крайне узкая ниша. В которой он, тем не менее, может не бояться (пока) конкуренции других языков.

То, что в западном интернете больше информации о Паскале и Дельфи, чем в русскоязычном, не доказывает тезис о его большей там популярности. Важна относительная популярность в настоящий момент, а не абсолютная популярность когда-то. Быстрее проиллюстрировать, чем описать подробнее: используя гугл, запрос "язык программирования Дельфи" дает 18000 ссылок против 132000 ссылок на "язык программирования С++". В западном интернете, запрос "Delphi programming language" дает 193000 ссылок против 1980000 ссылок на "С++ programming language". То есть в рунете Ц++ упоминается в 7 раз чаще, чем Делфи, а в интернете - в 10 раз. Я ожидаю, что разница будет более значительной, если как-то учесть даты помещения соответствующих страниц в индекс, и оставить только последние 2 года.

"так получилось" - индикатор того, что я считаю, что причина популярности С++ (а по поводу этого наблюдения мы не спорим ) не важна в контексте этого обсуждения. Действительно, какая разница для некой компании, производящей микропроцессоры, почему тот или иной низкоуровневый язык наиболее популярен - ей придется максимально поддерживать именно его, плюс, возможно, еще несколько немного уступаюших в популярности, если хватит ресурсов.

Интересно, что компании, использующие С++ (а их большинство) - этот инструмент не очень хвалят, или хвалят сдержанно. В отличие от немногих, использующих, например, Ерланг или Окамл.

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


 
 12-20-2007, 14:19 30220990 в ответ на30220987  

На: общий вопрос

Чтобы немного облегчить жизнь своим коллегам я решил перефразировать вопросы mt2. Получилось вот что:
1) Есть ли «научные» доказательства «исключительной производительности программ, написанных на C++ либо на каком-то другом языке?
2) Маркетинг конкурса выглядит как антиреклама TBB – если продукт настолько быстр, не имеет смысла начислять очки за его использование
3) В каких индустриях «действительно важна» производительность? Какие языки и инструменты используются в этих индустриях?

 

Саша по-моему прекрасно ответил на первый вопрос – стоит говорить о популярности языков, а не о производительности. Большинство спеков, к примеру, все-таки используют C++. Причин тому может быть масса, но умные люди из маркетинга считают, что имеет смысл в первую очередь уделять внимание именно плюсам. Марианна давала ссылки, их имеет смысл перечитать – там изложено мнение, максимально близкое к официальному :).

 

Позвольте мне высказать свое мнение по второму вопросу:
1) Вынужден согласится (в моем посте это прозвучало), что маркетинг данного конкурса не идеален :). Но еще раз повторюсь – из правил видно: этот конкурс суть есть попытка оценить зрелость TBB как продукта относительно массового рынка. По-честному если говорить, этот конкурс посвящен TBB. Надеюсь, все читали правила, и это не для кого не сюрприз!
2) Это не означает, что нельзя сделать выводы «за пределами» TBB – и мы их обязательно сделаем!

Хотите, открою небольшой секрет? Если бы я участвовал в конкурсе, то я бы использовал .NET просто потому, что опыта с .NET у меня больше. Но дополнительные баллы все равно получил бы. Для этого достаточно просто реализовать тот же алгоритм на TBB, и написать в задании, что TBB использовался, скорость получилась такая-то, но решение с .NET выглядит элегантнее и работает быстрее. В данном случае судьи просто обязаны начислить 100 очков «за использование».

Правда, тут может возникнуть вопрос – а что если на TBB будет работать быстрее? Или элегантнее? Но для того чтобы этот вопрос возник, нужно попробовать перевести алгоритм на TBB… А это, как я понял, сделали не все.

 

 

Ну и еще несколько «мыслей вслух»:
Блоги и форум ISN служат не для того, чтобы высказывать официальное мнение Intel, а для того чтобы озвучить свое личное мнение. Да, я работаю в Intel, но это не значит, что мое мнение всегда и абсолютно во всем совпадает с мнением компании.
Плюс такого подхода в том, что мы можем услышать личное инженеров из продуктовых команд (TBB к примеру), что, на мой взгляд, гораздо интереснее, не так ли?

Третий вопрос остался пока без ответа, ведь он наиболее философский. Думаю, на него никто не ответит точнее, чем Google.


 


Дмитрий Оганезов
Intel® Software Network
 
 12-20-2007, 15:50 30220991 в ответ на30220990  

На: общий вопрос

Чтобы услышать личное мнение инженеров продуктовых команд, в частности, моё, нужно задавать вопросы по существу. У всех нас времени не хватает, и я своё время лучше потрачу, отвечая на конкретный вопрос на англоязычном форуме TBB, чем споря об абстрактных материях здесь.


Но раз уж я начал сюда писать, то добавлю ещё пару комментариев:


- Если непонятно, почему есть TBB для C++ и нет для других языков, не возмущайтесь "языковой дискриминацией", а пойдите на treadingbuildingblocks.org и почитайте FAQ. Если вопросы по существу останутся - добро пожаловать с ними на форум по параллельным технологиям или на англоязычный форум TBB/


- Конкурс Threading Challenge - не Top 500, максимальная производительность тут не столь интересна, поэтому не ею одной всё определяется. Более того, раскрою "страшный секрет" - использование TBB вовсе не гарантирует вам максимальной производительности, и мы это знаем (а если кто-то будет утверждать обратное безотносительно конкретной задачи, это будет, мягко говоря лукавством). Опытные программисты-многопоточники потратят несколько часов (в серьёзном проекте - дней или недель) и напишут более эффективный код под конкретную задачу на "ручных" потоках. Неопытные потратят времени на порядки больше, пока все шишки набьют; а с TBB и время меньше, и шишек меньше, и производительность хорошая (пусть и не максимально возожная). Поэтому конкурс, который одной из целей очевидно ставит популяризацию TBB, вполне логично добавляет очки за использование продукта, и никакого маркетингового промаха я тут не вижу. Вот если бы снимали очки, вот уж был бы промах! :) Мнение mt2 про "антирекламу" и "фору", на мой взгляд, следует либо из нелепой обиды на якобы имеющую место "языковую дискриминацию", либо из непонимания целей конкурса.


mt2, у меня к Вам есть конструктивное предложение: раз уж Вы такой поклонник Дельфи и если Вы считаете (хотя тут я, конечно, не могу быть уверен), что этот язык нуждается в некоем аналоге TBB, перепишите продукт на Дельфи; благо, в последних версиях языка появилась поддержка обобщённого программирования а ля шаблоны С++. Исходные коды TBB доступны на threadingbuildingblocks.org под лицензией GPLv2. Если получится, под этой же лицензией и публиковать результат можно, или можно "вернуть", сделав contribution, в оригинальный проект.
Ну и, повторюсь, с вопросами по существу добро пожаловать в другие форумы!

Засим позвольте откланяться. В дальнейшем споре, ежели оный продолжится, участвовать не намерен.


Алексей Куканов.


- Алексей Куканов
 
 12-20-2007, 16:30 30220992 в ответ на30220990  

На: общий вопрос

MAD\doganezo:
Большинство спеков, к примеру, все-таки используют C++.

На самом деле, Фортран и Си.


- Алексей Куканов
 
Стр. 1 из 4(элементов - 53)   1 2 3 4 Вп