Был на лабораторной по программированию, все делаем в windows forms.и когда программа считала интеграл то это занимало несколько секунд. Преподаватель сказал что процессор нагревается. Что это означает? Как разогревать процессор чтобы все работало лучше?
>>177811451 (OP)В любой группе вк, пиши: ЦП В ЛС
>>177811451 (OP)> Что это означает?Повышается температура у процессора.
Жирнота то какая. Сейчас набегут мамкины хелоуворлдщики и будут говном кидаться.
>>177811451 (OP)физику не учил?
>>177811679я понимаю, но он иммел ввиду что это медленно очень проходит из-за того что он нагревается.я специально перезапустил сразу программу и опять так. неужели так быстро остывает?
Чет сначала прочитал как integer и проиграл.
>>177811830нет, никакого integer, только float, все так интеграл считаю!
>>177811772Ты вообще знаешь, как работает процессор?
>>177811960я тебе даже про регистры могу рассказать
>>177811960alu, branch prediction, speculative execution, pipeline, cache, mesi, tlb, numa вообще нет, а надо?
бамп
Вы там на 8086 интригалы считаете? Кнопку TURBO нажми и быстрей будет
>>177813363i5, coffelake
>>177813363а на чем их считать, на asci red?
>>177811451 (OP)>Что это означает?Что законы физики все еще работают.>Как разогревать процессор чтобы все работало лучше?С помощью термопасты, кулера, водяного охлаждения, например.
>>177813600ЭТО ДЛЯ ЗАМЕДЛЕНИЯ, МНЕ НУЖНО ЧТОБЫ БЫСТРЕЕ РАЗОГРЕВАЛСЯ И ВСЕ РАБОТАЛО ЛУШЕ
>>177813467Делфи у вас там чтоль? Что ты несешь вообще, посчитай свой сраный интеграл на бумаге, разложи на действия, представь примерно, сколько операций должен выполнить процессор (в дохуя раз больше, но это вообще мелочь) и вот ответь себе на вопрос - серьезная ли это задача для современных процессоров? (нет)
>>177813923зато отрисовка точек которых больще тыщи занимает время, все из-за gdi
>>177813657ТОГДА ТЕБЕ НУЖНО ОКРУЖИТЬ ЕГО МАТЕРИНСКИМ ТЕПЛОМ И ЛЮБОВЬЮ
>>177814007спасибо, анон, буду накрывать тогда компьютер
>>177814007
>>177813975Вот я и спрашиваю, у вас там gui?
>>177814172оно
>>177814207Вот тебе и тормоза, пили консольное приложение
>>177811451 (OP)Зимой обычно минут 10 прогреваю проц и уже потом пишу.
>>177813657Чо блять?
>>177814277ты из 1982 года? зачем мне консольное?
>>177811451 (OP)> Как разогревать процессор чтобы все работало лучше?Есть один метод, ещё со времён СССР, батя рассказывал, когда только первые компы появились. Надо поссать на процессор. Т.к. моча горячая, то это разогревает проц и ускоряет переходные процессы. А ещё в моче находятся соли, которые являются электролитами, то улучшают проводимость и проц работает на 25% быстрее.
>>177814312мой преподаватель врать не будет. Чтобы процессор хорошо работал ему нужно нагреться. Как его нагревать постоянно чтобы хорошо работало?
>>177811451 (OP)гугли JIT
>>177812252Чет вспомнил серию ТБВ.- Кто-то знает о двигателе?- Конечно, это технология 19 века!- А кто-то может починить?
>>177814387у c# есть JIT
>>177811451 (OP)>Что это означает?Забей хуй. Кивай, когда надо. Ни с кем не спорь. Сдавай диплом и уёбывай нахуй из той шараги как можно быстрей.
>>177814354Стресстестом, я полагаю. Но кажется полной хуетой. Поставь принудительно максимальную производительность процу. Может он тротлит?
>>177814470я поступил на программиста, не хочу уебывать,хочу получать знания!
>>177814496там из-за gdi,братан, отрисовка долго занимает
>>177814515Ищи настоящие знания за пределами твоего учебного заведения.
>>177814566мне скзазали до 4 курса никуда не ходить, ибо еще спецкурсов не было, нужно поучиться еще!
>>177814321Ты из дурдома? Сделай тогда гуй на OpenGL (юзай дотнет, блядь, а хочешь скорость - пиши под чистое winapi страдай и не выебывайся, зато просто летать будет, и размер пару килобайт, даже без компрессора, я для некоторых программ пишу именно так, да)
>>177814640тут дотнет, виндвос формс, сказали нужно использовать формочки ибо это просто и хватит!
>>177814354Ссука, я щас умру от смеха. Ты знаешь, что такое транзистор?
>>177814556Я не макака, ниебу что за гди. Разговор о том, что бы стало заебись проц надо натянуть до определенной температуры. Мне сама эта клнцепция не совсем понятно. Схуяли?
>>177814700конечно база, коллектор, эмитор, pn переход, я же не дурачок!
>>177814734он физик, доцент! поэтому мне интересно почему, я постеснялся спросить
>>177814763Если ты погреешь транзистор - он станет лучше работать?
>>177814835нет, у полупроводника с температурой повышается удельное сопротивление
>>177814822Я даже не знаю что тебе на жто ответить.
>>177811451 (OP)>Что это означает?
Бамп
>>177814889Ну вот, а процессор, если не углубляться - это тьмища транзисторов.
>>177815078я знаю, братишка, но почему он это сказал?
>>177815108Потому что нихуя не понимает как работает пека?
>>177815108Маразм/ у него пробел в образовании/ он потомственный магЛучше всего такими же наводящими вопросами узнай у него ответ на свой вопрос.
Бля, может он имел ввижу что работает медленно потому что нагревается?
>>177814693Ну вот тебе и хватит. А вообще смотри, когда у тебя идет такое подтормаживание я вообще делал перехват этого и элемент/окошко Loading... ну чтоб круто, понимаешь? Можешь там написать "Разогрев процессора... ждите..."
>>177815290спасибо, если он мне опять попадется(надеюсь нет). обязательно проверну и спрошу у него что это значит
>>177811451 (OP)Как разогревать процессорДелай цикл на 1кк и дели еще что-нибудь.Потом переходи к основным вычислениям и тогда все вычисления будут проходить быстрее, потому что процессор разогрет. Не понимаю как такой элементарщины можно не знать.
>>177816293почему тогда ни в одном современном яп нету функции стандартной для разогрева?
>>177816339Потому что он автоматически должен разогреваться. Но тебе охота ждать кучу циклов пока он будет это делать? И думать потом он максимально прогрет или нет? Лучше вручную прогреть и знать что он работает на все 100.
>>177816293Кстати, если бы мне реально нужно было разогреть проц, то я б пустил рекурсивные вычисления каких-нибудь фракталов и измерял температуру до достижения необходимого значения. Называлось бы у меня это что-то типа того WarmUpCPU(int t)
>>177816496все, жду реализацию этого шедвра тута
>>177816496Так речь же вроде шла о небольшом пинке. Так-то и в многопотоке можно его нагрузить хорошо. Рекурсии бы оперативу отжирали.
Давненько такой жирноты не видал.
>>177811451 (OP)Тред полон хеусосин, которые лезут в область в которой нихуя не знают.Поясняю: препод твой имел ввиду разогрев кэша, или cache warm up, но на самом деле на современных процессорах разогреваются еще и пайплайны, и еще какие-нибудь схемы-предикторы.Когда ты в первый раз запускаешь программу - ее нужно закачать в оперативную память прямо с диска, а это пиздец как медленно. С точки зрения процессора, пока программа грузится в ОЗУ, он может подрочить, поспать и еще раз подрочить. Потом он начинает исполнять программу, всякая там хуйня, инструкции летят в регистр, процессор отправляет на видеокарту инструкции отрисовывать ГУЙ, подгружать еще какую-то там хуйню с диска.Потом пользователь думает, какой же ему там интеграл посчитать, программа в это время висит в idle, процессор из регистра выгружает ненужные данные в оперативную память - нахуя ему их в регистре держать? Ну там еще пайплайны и прочие оптимизирует под то что он сейчас исполняет, а не под твою программу.А потом пользователь вводит интеграл. Для того, чтобы его посчитать, нужно сначала загрузить нажатия клавиатуры в регистр, потом считать их, потом передать эти нажатия ОС, которая потом скажет процессору "слышь, там в этой программе, которую ты 5 секунд назад загрузил нужно новые данные обработать, считай давай", ну и процессор отправляет запрос в оперативную память, потом пьет кофе пока ему данные прилетят, грузит их в регистр и начинате считать что ему там загрузили, выдает ответ, отрисовывает его и только потом пользователь его видит.А теперь рассмотрим массив интегралов - 1000 интегралов - все 1000 интегралов грузятся в оперативную память, потом начинают грузиться в регистры по очереди. На третьем элементе процессор видит, что функции в принципе повторяются и думает "такс такс такс что мы тут интегралы считаем ахаха наканецта" и делает ХОБАНА, епта, все лишнее с пайплайна нахуй, вот эти значения, например, мы вообще можем сразу отправлять на ALU, вот эту хуйню мы можем сначала посчитать, а проверить уже потом, а вот это можем уже не считать, команды на отрисовку тоже будем отправлять когда захочем, работаем, епта. И вместо ста или даже тысячи тактов которые требовались чтобы посчитать один интеграл, вместе с отрисовкой, загрузкой-выгрузкой и прочей чепухой, процессор может их считать за 20 тактов, потому что интегралы сидят в регистре, пайплайн оптимизирован, предикторы работают с вероятностью 99%, а пайплайн останавливается только 5% времени вместо 95%, пока там данные из ОЗУ фетчятся.Ну и выходит, что если ты хочешь разогреть процессор, то считать тебе нужно сразу дохуя интегралов в массиве, берешь и сразу скармливаешь ему 1000, 10000, 100000 интегралов - и с точки зрения процессорного времени это будет гораздо быстрее, чем если скармливать их по одному.Но в пользовательских приложениях разогревать кэш не имеет смысла, ну будет программа грузится и считать первый интеграл 5 секунд, а не полсекунды - пользователь этого почти и не заметит.Пикрелейтед, кстати, из книги Computer Oraganization and Design, в ней многое объясняется, включая то, как процессор "разогревается" для выполнения многих программ.
>>177816553Может, тебе еще либу кроссплатформенную написать? так и вижу warmcpu.dll warmcpu64.dll warmcpu.so warmcpu.dylib>>177816648>Рекурсии бы оперативу отжиралиНет, не используй память/освобождай ее
>>177816697ты точно поехавший, братанфункция интеграла зашита уже в свой программе на стадии компиляции, пользователь вводит лишь границы интегрирования и шаг, в итоге массив буде максимум на тысячу элементовсчитается все одним циклом, значит сложность будет О(1000), притом там действия два: один раз умножить и один раз сложить.(Численные методы называется)В итоге твой манямирок рухнул
>>177816807>Нет, не используй память/освобождай ееКак ты ее освободишь до условия выхода? А каждый повторный вызов самого себя будет понемногу отжирать память.
>>177811451 (OP)>и когда программа считала интеграл то это занимало несколько секунд. Преподаватель сказал что процессор нагревается.Делалть выводу по одному запуску программы это конечно охуеть можно.
>>177816887ты же понимаешь насколько ты тупой?
>>177816984возьми это приложение в консоле и это же приложение с гуивсе упирается в старую и медленную реализацию gdi(отрисовочка всех вычисленных точек), если это делать на opengl и сделается это мгновенно
>>177816887Ты ебунтый чтоль, тебе по хардкору пояснили работу вообще любой программы под любой ОС, а вернее - механику работы железа.>>177816917Ты чем будешь "отжирать" я не понимаю, память у тебя будет использоваться одна и та же. Используй кучу.
>>177816697А теперь рассмотрим многозадачную ОС где все твое кеширования сбрасывается тысячи раз в секунду из-за переключения контекстов.
>>177816887Ты хотя бы прочитал, что я написал, или просто так решил спиздануть что-нибудь что тебе показалось умным?
>>177817119В современных процессорах кэша несколько мегабайт, если у тебя программа с огромным массивом, то разогрев будет играть роль.
>>177817425а если у него вся логика это один проезд по памяти в хорошем смысле, то нет
>>177816697И бранч предиктор так хорошо работает, потому что он выполняет ОБЕ ветви, и только потом выясняет, какая из них была нужна. Ему абсолютно насрать, сколько по времени выполнялась программа. На эксплуатации этого поведения работает уязвимость spectre. >>177817425Вот как раз программы с огромными массивами и будут каждый раз сбрасываться. Очень мелкие программы типа бенчмарков могут полностью влезать в кеш, поэтому онги могут показывать цифры мало чего имеющие с реалным миром.
>>177817140Он слишком высыкоуровневый "специалист" и мыслит не дальше рамок IDE а то и книжки ASM для чайников. Нет смысла с ним вообще разговаривать.
>>177811451 (OP)Даю сылку на хороший проц, на нём не будет глючить, инфа сотка ))
>>177817547>бранч предиктор так хорошо работает, потому что он выполняет ОБЕ ветви,но ведь дешевле выполнять только ту, которую предсказано.
>>177811451 (OP)спичками или зажигалкойкак ты еще его разогреешь?ты в школе для умственно отсталых, что ли, учишься?
>>177817662>ножки на процессоре>2k18В следующий раз хотя бы процессор советуй, а не амудэ
>>177817699Дешевле. И медленнее.
>>177817784Ок, сегодня добрый ^_~
>>177817699https://en.wikipedia.org/wiki/Speculative_execution
>>177817785наоборот, если у меня 95% точности предсказания, то я должен дискардить конвейер в 5% случаев, а если бы я считал обе ветки, то у меня что памяти надо в два раза больше, что алу надо в два раза больше, каждый раз, в результате я буду утилизирован вычислением результатов, половину из которых должен отбросить.
>>177818028Суть в том, что ты будешь дискардить конвейер в нуле процентов случаев, но ценой памяти.
>>177818076как же ноль, если я посчитал обе ветки из которых нужна одна.
>>177818114зато без прыжков по условиям, да. знаю одну систему, которая ровно так работает.
>>177818114Они обе одновременно на конвейере. Еще до того, как предиктор сработал.
>>177818114Читай, короче >>177817971
>>177818114With unlimited resources, eager execution (also known as oracle execution) would in theory provide the same performance as perfect branch prediction. With limited resources eager execution should be employed carefully since the number of resources needed grows exponentially with each level of branch executed eagerly.
>>177817531>>177817547Почитай как бранч предиктор работает.Вкрации: видит что в пайплайне потребуются данные которые лежат в оперативке - ГРУЗИТ ИХ В РЕГИСТРЫ. И именно поэтому происходят cache miss, когда нужные данные оказываются в оперативке, а не в регистрах и процессору приходится ждать, пока он данные загрузит, прежде чем приступить к выполнению.>Вот как раз программы с огромными массивами и будут каждый раз сбрасываться.При переключении контекста сбрасывается пайплайн, а не регистры, але. Так и эту хуйню тоже можно оптимизировать, для этого есть process affinity, и на многопоточных машинах у меня был прирост и до 20% при правильно настроенной многопоточности программы и правильном распределении потоков по физическим ядрам.
>>177814295Бля двачую, мы всем классом по 15 минут греем, кто фен с дома приносит, кто системный блок по выше ставит. Препод ваще по 20 минут греет, у него ж машинка по серьёзнее
>>177818301так и чего, есть вариант вычисления обоих веток, отлично, с понятными проблемами, поэтому мне например не очевидно в каких ситуациях это может быть эффективно, кроме как в достаточно сильно векторизованных арифметических нагрузках, и непонятно какие ядра так умеют и резулярно делают. тем не менее, если так, то спасибо за информацию, я думал эти вещи на уровне gcc разруливаются. в любом случае к эффективности бранчпредиктора это не имеет отношения, если под эффективностью понимать throughput по инструкциям, чем ты больше угадал, чем меньше лишнего вычислил, тем больше пользы принес. и меньше за электричество заплатил.
>>177811451 (OP)Короче, ОП, или твой препод имел ввиду разогрев регистров и предикторов >>177816697 , или он просто долбоеб, поэтому я бы советовал тебе спросить ему что он имел ввиду и показать этот тред книгу по архитектуре компьютера.
например такуюhttps://www.elsevier.com/books/computer-architecture/hennessy/978-0-12-811905-1
>>177811451 (OP)> сказал что процессор нагреваетсяОчевидно же блядь, что в твоем ПТУ нет кондиционеров, адово жарко и стандартный вентилятор охлаждения не справляется, из-за чего идет перегрев процессора и тормоза. У меня даже мобильный на солнце и жаре адово греется и начинает тормозить.
спасибо, с вами было очень интересно. мнеб таких одногруппников как вы
>>177819156Мне кажется все еще проще, ОП - гуманитарий, и препод просто решил не взрывать ему мозг и имел ввиду имено то самое физическое нагревание проца.