Форум

Пожалуйста или Регистрация для создания записей и тем.

Исследование свойств диагональных латинских квадратов в проектах добровольных распределенных вычислений и не только...

НазадСтраница 125 из 191Далее

 

Ну тут разные ситуации.   В случае когда нет необходимости чтобы код работал постоянно и насчитал как можно больше - то тут действительно нет и смысла тратить на оптимизацию.

А здесь случай совсем другой - тут речь идёт не об оптимизации вообще всех программ на всём рынке, а конкретно только об одной, причём относительно небольшой программе. Которая будет работать долго и непрерывно. Вот тут как раз именно такой единичный случай, когда лучше оптимизировать, чем купить где-то ещё 1 дополнительный компьютер.

А код счётных приложений gerasim он закрыт?

Ведь помните, программист Daniel взял и оптимизировал код Rakesearch, код Acoustics причём скомпилировал его не только под Windows, но ещё и под Linux. Ну студенты не могут (точнее не хотят) ну обратитесь к Даниелю, пусть он хоть код посмотрит, может какие советы, рекомендации даст.

 

 

Цитата: Yura12 от 19.12.2021, 06:53

 

 

Ведь помните, программист Daniel взял и оптимизировал код Rakesearch,

 

 

Помню тогда производительность выросла раз в 8. Это было круто.

Возьмем 120 тыс. случайных ДЛК порядка 14 и построим для них спектр числа диагональных трансверсалей. В результате данного эксперимента, занявшего 25 часов работы Core i7 4770 в 1 поток, получен спектр из 1624 элементов, фрагмент которого приведен ниже.

...
53001 0123456789ABCD34B7C01D5296A8A019B682D53C74498D6B7C031A5285A12D93CB07461B0C3A567D4829D648A13527B09CCA957208B463D12D6A54B09C718357D09C21A6843BB372894A61CD059C3BD7A418256078C613D94052BA625408CB3AD917
53003 0123456789ABCD874DC631A2950B9CD8210A56B4733601A49B7D528C42C08A73DB19565B841C206A37D9A53762B91C0D487069DB8234C1A514A657CD9380B2CD9A3814B57620B87C9D4520631AD91B035C482A676A52B9D8074C3123B570A6C1D894
53005 0123456789ABCD143CA68B7D529097D530BC642A8130568C42DA71B98D74C2A1B69305260ADBC3581974A2605498C7BD13B948730A12D56C758D91302B4CA66AB72D5931C048589B0716AC34D2DBC1697543082AC3A218D490675B4C19BA2D058637
53006 0123456789ABCD9436510D7BCA827B51C69AD234085C826DA943107BBD483250976C1AA27D09843C56B183D4AB1C567920D86C942BA103571AC720B56D483920A5B7C6189D43C91A8372B0D564469B1C380A27D5350978D1C4B2A667B0DA4325819C
53007 0123456789ABCD7D193A5CB64208A63C904512D78B57B869A3C014D2C08DA3927B56414BC1028D536A7918472DB60AC935B96578C42D301A3A7B1408652D9C94D08671ACB523850AD72B319C6462945C3AD871B0D3A2CB194708562C56B1D09483A7
53008 0123456789ABCD54789BC03D261A1097CD53A6842BA84620DB73519C9B51AC0D486237253B184A90C7D6CA807632DB4951D90281B5C73A643D6AB794120C8572D904A86C15B3861CDA7925B34047A5632CB19D08B3C452160AD8796CBD39815470A2
53009 0123456789ABCD7CBD58964A2310B4502C31D698A74A82391D75B60C68159B4A37C0D236CA8D720459B1D97412BCA0653810A6C4589D372B9B08A3C462D175C3D7602B51849A25690AD31B7C848D4CB705231A69523B71A9C80D46A791D680BC4253
53010 0123456789ABCDA810CD467B2395D76BA1945C82036BDC235918074AC3829071A4D65B2C4D7B05369A8159BA341C0D78261497B28AC35D6072341AC8D560B99A586CD0B2317480C1573B6A49D23D7689A240B51C45A906BD271C38B605D82391C4A7
53011 0123456789ABCDB5DA8092C6743184BC670D5A3129A3C62DB50197846807C3A1D2B9457234A186BCD590306954DA1BC278CA521B497803D6978D3C20451A6BD9AB0853674C121D489A7B30265C2B71D6C493580A4615B93C2D80A75C907218A46DB3
53012 0123456789ABCD790BD1A3C85462D35A82B47C690195BDA602317C483216B07DA4985CC6A09431BD8275549C23801BD7A6B847CA56031D291D750C48263A9B67821BC95A40D3ABD8392547C610403978DC6521BA8AC1679BD205342C645D1A90B387
53013 0123456789ABCD1CA5724DB398606352CAD97804B12486379BAC1D05B06AD318C27549D51729C63A408BAB0164859D3C7278D91B0A24C35656349CB21087DA42C0B153D769A83D48062C51BA97C97B8DA40652138A9D50714B263C97BCA83065D124
53014 0123456789ABCD643217D5A09C8B8C54D1B90A3276C8672490B51AD3D61B92A83C40572A7CBD31546809A58D76C392B4109BC0837AD1264530B16A5D28C79442A809167BD53C7D065C241389BA1749C08B6D53A259DA3B42C70168B395A80C467D21
53015 0123456789ABCD5678D34120BCA997CB20A51643D8CD52B896A301471CD09A246B57833BA71D89C5206470B96452D81A3C4306CB18527D9A2A1D093B74C856B9317C0D4A8625D864A7C09135B2A28C56B30D9471854A32DCB769106495817A3CD20B
53016 0123456789ABCDD746985C3B102A36BD82190A754C7BC239815D6A042C95A1B0748D369084C6AD1723B56510DB3A2C94874269BD78C351A05D0A1C2346B798CAD7049265381B13785AD4B0C269A83B70C6D149528951674BA20CD3B4AC230598D671
53017 0123456789ABCD2B54C971AD063870659B432CD18AD2C1039468B7A5179820DB3A4C56568A1DB203C4976DB7AC38105924B40987CAD62513A340768C521DB98CAB52094763D13AD26815C4907B957CD4A6B13802C9163A5D7B8240483DB120957A6C
53018 0123456789ABCD1B5DA49C638207297A1D3B50C46852C6B783A490D14A0B965137DC827832DCA41569B0C785014A92BD36BC1763284D05A930482B19DC765A6DB05872CA1394D49C3206785A1BA56489D02B317C93A170CDB6482586D9CAB5012743
53019 0123456789ABCD1C8962057DB43A9A56D4B3120C87290A587DBC4163374580DACB2916A4D029CB678351B267A3490815DC6DBC0A21537849437BC198D560A2C5347D10269AB8DB1897AC40362578AD1B5634C29080C1B6329A5D7456923C84A1D70B
53020 0123456789ABCD6BA50CD93827145D68B042C7193A869CDB537401A22A5071BCD3946817D9C38B254A0674C21D9AB08653B81A26C45D73903C7D5821A6B049A341697502DC8B92873A06415DBCD9B4A7106C3825C50B94381A62D7403682AD9BC571
...

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

Критические участки кода Герасима давно оптимизированы мной. Я эту работу считаю очень важной и всегда выполняю оптимизацию перед расчетами в проекте. Часть кода, используемая в некоторых подпроектах, была оптимизирована Александром Альбертьяном, соответствующие анонсы я выкладывал. Код проекта закрыт.

В OEIS добавлен числовой ряд, соответствующий мощностям спектров числа диагональных трансверсалей в ОДЛК порядка N.

citerra отреагировал на эту запись.
citerra
Цитата: Pavel Kirpichenko от 19.12.2021, 16:57
Цитата: Yura12 от 19.12.2021, 06:53

Ведь помните, программист Daniel взял и оптимизировал код Rakesearch,

Помню тогда производительность выросла раз в 8. Это было круто.

То приложение было очень удобным для оптимизации. Оно было очень компактным и большая часть улучшения (если не почти всё) была достигнута за счёт изменения двух мест в вычислительном модуле, когда один из циклов, встречавшийся в 2 местах, оказалось возможным заменить на встроенную функцию, которая транслировалась в специальную инструкцию CPU. Код приложения Эдуарда сложнее, код RakeSearch был очень простым.

В подпроект ODLS BS проекта добавлены ~20 тыс. WU'шек, целью которых является расширение имеющегося на данный момент спектра числа трансверсалей в ДЛК порядка 12. Кворум — 1, дедлайн — 7 дней, время счета — до нескольких часов, чекпоинты есть. Считаем...

Цитата: hoarfrost от 19.12.2021, 20:27
Цитата: Pavel Kirpichenko от 19.12.2021, 16:57
Цитата: Yura12 от 19.12.2021, 06:53

Ведь помните, программист Daniel взял и оптимизировал код Rakesearch,

Помню тогда производительность выросла раз в 8. Это было круто.

То приложение было очень удобным для оптимизации. Оно было очень компактным и большая часть улучшения (если не почти всё) была достигнута за счёт изменения двух мест в вычислительном модуле, когда один из циклов, встречавшихся в 2 местах, оказалось возможным заменить на встроенную функцию, которая транслировалась в специальную инструкцию CPU. Код приложения Эдуарда сложнее, код RakeSearch был очень простым.

На данный момент расчетный код, используемый в экспериментах в Герасиме, насчитывает более 80 тыс. строчек и постоянно пополняется, т.к. для решения новых задач некоторые вещи приходится дописывать...

Возьмем имеющийся у нас в наличии спектр числа диагональных трансверсалей в ДЛК порядка 14 из 1624 элементов и применим к нему процедуру расширения путем анализа окрестностей, получаемых поворотом 1 интеркалята в ДЛК. В результате за 9 часов расчета в 1 поток на Core i7 4770 спектр расширен до 2310 элементов. В графическом виде — узкая полоска стала чуть шире, утолщение произошло в обе стороны.

Минимальный элемент в полученном спектре имеет 52488 диагональных трансверсалей, что всего на 4 трансверсали больше текущего рекорда. Соответствующий квадрат приведен ниже.

0 1 2 3 4 5 6 7 8 9 10 11 12 13
13 9 0 10 6 11 1 12 2 5 3 8 4 7
6 2 4 13 10 12 9 3 0 11 8 1 7 5
3 5 11 8 13 7 4 2 10 1 6 0 9 12
7 13 6 11 2 1 8 10 9 0 12 3 5 4
1 0 9 2 7 3 11 6 5 13 4 12 10 8
12 3 13 1 0 2 10 11 7 8 5 4 6 9
11 10 1 12 8 9 2 5 4 7 0 13 3 6
9 7 12 5 1 10 13 8 6 4 11 2 0 3
2 4 8 6 9 13 3 0 11 12 7 5 1 10
10 11 5 7 3 4 12 9 13 2 1 6 8 0
4 8 3 0 12 6 5 13 1 10 9 7 11 2
5 12 7 9 11 8 0 4 3 6 2 10 13 1
8 6 10 4 5 0 7 1 12 3 13 9 2 11

В ходе построения спектра числа диагональных трансверсалей в ДЛК порядка 14 отталкиваясь от генератора случайных ДЛК Брауна найден квадрат

0 1 2 3 4 5 6 7 8 9 10 11 12 13
8 13 1 4 6 11 3 10 2 7 9 12 0 5
9 10 7 8 1 0 11 2 13 12 5 6 3 4
5 0 12 9 7 2 10 3 11 6 4 1 13 8
12 7 10 11 8 9 13 0 4 5 2 3 6 1
11 4 0 7 10 12 8 5 1 3 6 13 9 2
2 9 13 6 3 1 5 8 12 10 7 0 4 11
13 12 11 10 9 8 7 6 5 4 3 2 1 0
7 2 8 1 13 10 9 4 3 0 12 5 11 6
4 3 6 5 12 13 2 11 0 1 8 7 10 9
1 6 3 2 5 4 0 13 9 8 11 10 7 12
10 5 9 0 2 6 1 12 7 11 13 4 8 3
6 11 5 12 0 3 4 9 10 13 1 8 2 7
3 8 4 13 11 7 12 1 6 2 0 9 5 10
у которого 48436 диагональных трансверсалей, что позволяет усилить существующее ограничение: в ряду https://oeis.org/A287647 с a(14)<=52484 до a(14)<=48436. Получается, что для некоторых размерностей квадраты Брауна могут иметь как много, так и мало трансверсалей...
citerra отреагировал на эту запись.
citerra
НазадСтраница 125 из 191Далее
BOINC.RU