Форум

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

BOINC для Android

PreviousPage 11 of 11

Попробовал поискать такой режим расчётов на Samsung A22s 5G, чтобы не приходилось думать о зарядке телефона, его перегреве и т.п., так как в данный момент он используется и просто как телефон.

CPU-Z говорит что CPU у него big.LITTLE: 2 ⨯ ARM Cortex-A76 @ 2.20 ГГц + 6 ⨯ ARM Cortex-A55 @ 2.00 ГГц.

После недолгих экспериментов пришёл к варианту задействования одного ядра. В таком варианте расчёт попадает на одно из быстрых ядер, сам смартфон не греется даже в чехле. Иногда, при зарядке, температура батареи доходит до 40°C, тогда вычисления приостанавливаются на некоторое время. Расчёты могут производиться и при работе от сети, и при работе от аккумулятора, и с WiFi и с мобильным интернетом. Особого уменьшения времени между зарядкой телефона - не заметил. Также появилось подозрение (но, не проверял), что от увеличения числа потоков особого выигрыша бы не было - уж больно быстро сейчас стали считаться задания WCG.  Но надо проверять.

Поскольку RAC в Android-версии что-то не могу найти, а со экспортом статистики у WCG, видимо, тоже не очень, в последнее время, то какой именно он, сказать пока не могу, надо замерять специально.

В целом же, схема пока работает, посмотрим, что будет дальше.

Array

Не скажу на самсунги, но у многих телефонов бюджетной серии на, допустим, 8 ядер, всего один FPU (для расчетов чисел с плавающей запятой). Так как многие BOINC проекты так или иначе считают числа с плавабщей запятой, но может случиться так, что будут работать параллельно 8 задач на 8 ядрах, но при этом они все будут конкурировать за один FPU, то есть работать в примерно 8 раз медленнее, чем одна отдельно запущенная задача. К сожалению, информацию о FPU не так легко найти, зачастую надо курить мануалы конкретного процессора, так как для публики данные технические подброности обычно в обзоре телефонов не указывают, ибо мало вообще кто понимает что это за числа такие, и почему у них плавает запятая, а главное где 🙂
Кроме этого, надо не забывать о троттлинге, когда OS снижает частоту ядер во избежание перегрева.

Так что надо тестировать и смотреть.

Array

"В таком варианте расчёт попадает на одно из быстрых ядер"

 

А разве Android не оставляет быстрые ядра только для себя?

 

hoarfrost, проверьте почту.

Array
Цитата: DimOK от 16.12.2022, 08:41

"В таком варианте расчёт попадает на одно из быстрых ядер"

А разве Android не оставляет быстрые ядра только для себя?

Если под "Оставляет" имеется ввиду "Не разрешает использовать никому кроме своих процессов" - то точно нет, т.к. это не имело бы никакого смысла. Ядра бы простаивали почти всегда.

А вот приоритет у root-овых процессов всегда был выше, чем у всех остальных. Если им будет надо - то вытеснят кого угодно.

Array
DimOK отреагировал на эту запись.
DimOK

Продолжил эксперимент из сообщения № 101, пытаясь проверить свои предположения о том, что: 1) время без зарядки при нагрузке только на 1 ядро - почти не отличается от времени работы без нагрузки вообще; 2) больше чем 1 ядра задействовать нет смысла.

Статистику набирал, подключив смартфон к Asteroids@Home с 18 декабря 2022 г. До 15 января 2023 расчёты велись на 1 ядре, а с 15-го - на 2 ядрах. Набралось 98 результатов в первом режиме и 55 во втором, по которым и собрал статистику по производительности при задействвоании 1 и 2 ядер.

Время, за которое смартфон разряжается при нагрузке и без померял несколько раз, из-за того что значения получались на удивление одинаковые, решил что этого хватит. Итак:

Скорость разрядки.
При отсутствии нагрузки и какой бы то ни было работы со смартфоном, он за 8 часов он разряжается со 100% до 96%. То есть 4% за 8 часов;
При нагрузке на 1 ядро и отсутствии какой-либо другой нагрузки, за 8 часов он разряжается со 100% до 60%. То есть 40% за 8 часов.

Разница в 10 раз, гипотеза провально не подтвердилась.  😀

Валовая вычислительная мощность.
Для 1 ядра: Cреднее время выполнения задания: 12717 секунд, среднеквадратичное отклонение 3383 секунды. Среднее по Credit / час: 19.89, среднеквадратичное отклонение: 2.42.
Для 2 ядер: Среднее время выполнения задания: 13848 секунд, среднеквадратичное отклонение 1161 секунды. Среднее по Credit / час: 19.06, среднеквадратичное отклонение: 1.12.

То есть и вторая гипотеза разбита в пух и прах. 😀

Лично меня больше всего поразило то, что при задействовании 2 ядер, и время выполнения и Credit/час получились гораздо более "кучными" по своим значениям. Более того, даже когда из первого набора я удалил несколько результатов, чъё время выполнения было раз в 5-10 меньше, чем остальных заданий (то есть, там явно сами задания были меньше), результат поменялся не сильно. Была σ в 3383, стала 2454 - всё равно в 2 раза больше. 🙂

В тоже время, при нагрузке на 2 ядра смартфон уже заметно греется (не горячий, но тёплый) и для того, чтобы получить выборку в 55 результатов за эти две недели, мне пришлось почти всё время держать его на зарядке. Производительность 1 "быстрого ядра смартфона" получается равной ~ 1/3 от одного потока Intel Core i3-6100 (3.70 ГГц, 2 ядра, 4 потока) и 1/5 от скорости одного поткоа Intel Core i7-9700 CPU (3.00GHz, 8 ядер, 8 потоков).

Что будет, если начать грузить не только два производительных (Cotrex-A75, 2.20 ГГц), но и остальные 6 лёгких ядер (Cortex-A55, 2.00 ГГц) - проверять не стал, мне кажется, что либо смарфтон взорвётся, либо просто  зарядки не будет хватать.

Какие выводы можно сделать?

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

В тоже время, нагрев идёт не только от CPU, но и от батареи. И, если у вас есть ненужные смартфоны "под разбор", то можно попробовать демонтировать из них аккумулятор, соединить цепь питания с USB (возможно, добавив сопротивление чтобы подавать на CPU не 5 Вольт) и, возможно, они будут неплохо считать, если организовать охлаждение - см. предыдущие сообщения в ветке от коллег по увлечению. 🙂

Array

Вот мой mediatek helio g99 в Realme 10 выдает 1698.29 гигафлопс

 

Загруженные файлы:
  • skrinshot-28-01-2023-202529.png
Array

Попытался запустить под андроид кастомное приложение с помощью app_info.xml

Похоже, что боинк его просто игнорирует. Отключено для андроида?

Array
Цитата: Sid от 05.02.2023, 21:21

Попытался запустить под андроид кастомное приложение с помощью app_info.xml

Похоже, что боинк его просто игнорирует. Отключено для андроида?

Не должен.
Что пишется в логах?

Array
PreviousPage 11 of 11