tag:blogger.com,1999:blog-616875485587596197.post7029030237603939832..comments2023-04-04T16:45:03.979+03:00Comments on Блгъ: Завершился курс «Многоядерное программирование»Vladimir Obrizanhttp://www.blogger.com/profile/13076891209994782415noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-616875485587596197.post-64464099150915601602009-05-08T23:45:00.000+03:002009-05-08T23:45:00.000+03:00amd4ever, спасибо за развернутые комментарии! Буде...<B>amd4ever</B>, спасибо за развернутые комментарии! Будем развивать курс дальше.Vladimir Obrizanhttps://www.blogger.com/profile/13076891209994782415noreply@blogger.comtag:blogger.com,1999:blog-616875485587596197.post-62709890761193521632009-05-08T21:08:00.000+03:002009-05-08T21:08:00.000+03:00Владимир Игоревич, большое вам спасибо за очень ин...Владимир Игоревич, большое вам спасибо за очень интересный курс (как и все остальные курсы на CET - за что отдельное спасибо преподавателям)!<br />За эти полгода мы узнали очень много нового про архитектуру процессоров, принципы оптимизации программ, ну и, конечно, параллельное программирование.<br /><br />Feedback:<br />1. Нужно ли изучать WinAPI или необходимо начать с OpenMP и больше сосредоточиться на Intel TBB?<br /><br />ИМХО: обязательно нужно изучать "raw threads programming". Лучше, конечно, использовать pthreads, но на крайний случай можно и WinAPI. Может этот метод в чём-то менее удобный чем использование TBB или OpenMP, но зато он куда более "прозрачный". В TBB, ИМХО, за всей этой абстракцией теряется простота - и понять код сложнее, чем на простых потоках. <br /><br />2. Нужно ли больше внимания уделить устройству микроархитектуры?<br />По-моему тут всё было как раз в меру.<br /><br />3. Что было тяжелее всего для понимания, а на каких темах вы «зевали»?<br />Тяжелее всего для понимания: TBB.<br />Зевал на MPI =)<br /><br />4. Что можно рассмотреть подробнее, а что можно выкинуть?<br />ИМХО: выкинуть MPI.<br />Подробнее: "raw threads" (Pthreads/winapi), TBB.<br /><br />5. Какие примеры нужно рассматривать на лабораторных?<br />Что нужно сделать, чтобы курс стал интереснее, веселее, полезнее?<br /><br />Здесь по-моему курс получился удачным, за исключением того, что мы долго бились с MPI, ну и сборка проектов с зависимостями от сторонних библиотек в Visual Studio не самое приятное занятие.<br /><br />P.S. Насчёт TBB: я знаю, некоторым он очень понравился и он действительно хорош в большинстве задач, но, ИМХО - не стоит принимать его как ману небесную =) Да, и перед началом чтения TBB лучше спросить у слушателей, знакомы ли они с классами/шаблонами/STL, иначе TBB будет очень тяжело понять (в этом плане нам повезло - у нас читал лекции Бог C++ =), за что ему большое спасибо =) ).<br /><br />P.P.S. Если бы половина преподавателей ХНУРЭ относилась к своей работе так, как это делает Владимир Игоревич, мы бы точно были лучшими в мире. Спасибо вам, за то, что вы есть! =)Roman Podolyakahttps://www.blogger.com/profile/13958191077941383321noreply@blogger.comtag:blogger.com,1999:blog-616875485587596197.post-24621578300115665762009-05-07T15:53:00.000+03:002009-05-07T15:53:00.000+03:00Zoresvit, спасибо за отзыв! Да, я тоже подумываю, ...<B>Zoresvit</B>, спасибо за отзыв! Да, я тоже подумываю, чтобы сократить WinAPI до одной лекции. В ней отразить принцип программирования: ручное создание потоков, раздача работы, синхронизации. WinAPI по отношению к TBB, как ассемблер по отношению к С++. :)Vladimir Obrizanhttps://www.blogger.com/profile/13076891209994782415noreply@blogger.comtag:blogger.com,1999:blog-616875485587596197.post-68531106550147839582009-05-06T22:03:00.000+03:002009-05-06T22:03:00.000+03:00И Вам большое спасибо за все, что мы узнали (и не ...И Вам большое спасибо за все, что мы узнали (и не только о многоядерном программировании). Многим преподавателям стоит завидовать не только нашей мотивации, но и Вашему преподаванию (точнее отношению к студентам;)<br /><br />На счет вопросов:<br />Как по мне, то изучение WinAPI можно ограничить - просто сказать, что он такой есть. Не из-за мого хорошего или плохого отношения к Windows, а по делу. Он для меня сложный, непонятный и даже не кроссплатформенный. Если по всем остальным технологиям, я эксперементировал с исходинками, разбирал примеры, то на WinAPI я полностю потерялся :) И особой его полезности тоже не знаю, поэтому ИМХО - долой WinAPI.<br /><br />OpenMP простой, с ним классно учить многоядерное программирования с нуля, прост в употреблении - можно почти сразу писать лабы с его использованием. Поддерживается и VisualStudio, и новым GCC :)<br /><br />Интерессно изучать микроархитектуру, что бы лучше понимать, как все работает. Хотя Выши обьяснения были доступными, помоему.<br /><br />Тяжело было снова таки на WinAPI (там и зевали :) ) и сложновато далось TBB с Pipeline - классы на нашем потоке только начали рассказывать, а на некоторых еще и не упоминали. Это еще и курсы С++ для меня очень усложнило.<br /><br />Думаю, было бы неплохо больше поработать с программами от Intel и узнать подробнее о их функциональности: на лабах взять примеры программ, проанализировать их с помощью Intel tools и оптимизировать. (Мы это вроде и делали, но как-то это прошло мимо...) Не было бы лишним еще с ними поработать.<br /><br />В заключении: было бы неплохо убрать WinAPI и больше поработать с TBB, разобрать больше примеров и написать собственные, используя возможности этой библиотеки.<br />А что бы сделать курс интересснее, веселее и полезнее - продолжайте в том же духе! Вы - прекрасный преподаватель (уже ведь можем сравнивать ;) )Anonymoushttps://www.blogger.com/profile/14697647924363128885noreply@blogger.com