Post:#471944 Date:06.06.2015 (00:41) ... 21 августа 1991 года закончился августовский путч в СССР-
24 августа 1991 в центре Киева. Люди приветствуют провозглашение независимости
25 августа 1991 года Линус Товальдс опубликовал ядро Linux Date: 25 Aug 91 20:57:08 GMT
Просто совпадение? Можно быть, но есть еще много других совпадений.
Главное- это одинаковая методика зомбирования адептов Линукса и Нэзалежной.
Линуксоидов в мире точно столько же сколько и укропов- около 1 %.
О чем не спросишь линуксоида- ответ : хто нескаче тотмастдай
Чем больше аппаратных потоков (ядер процессора) в системе, тем сложнее организовать такие вычисления.
Можно очень просто это делать:
The RenderScript runtime will parallelize work across all processors available on a device, such as multi-core CPUs, GPUs, or DSPs, allowing you to focus on expressing algorithms rather than scheduling work or load balancing.
Сейчас таких специалистов практически нет. И нигде не учат.
psih Пост: 474662 От 11.Jul.2015 (08:29)
У этих устройств есть собственная ОС на базе Linux. Получается компьютер в компьютере.
Помню такую эпопею- когда появились пентиумы- то появилась идея старенькие 486 машины использовать как многопроцессорные -
благо кэш у них встроенный, и вот туда пихали свое микроядро.
Почитай лет 20 уже прошло.
Почти как на этапе загрузки- когда микросхамы памяти еще не инициализированы- проц пользуеттся только своей кэш памятью.
СНК Пост: 474682 От 11.Jul.2015 (13:19)
Вычислительная система с 1 процессором похожа на человека, как он управляется со своими делами. Максимум 9 процессов. У особо одаренных - до 25.
О разных процессах идет речь.
Пример 1: Попробуйте одновременно умножить пятизначное число чисел в столбик и выполнить деление одновременно. Левой рукой и левым глазом выполняете и записываете умножение, а правой рукой и правым глазом выполняете деление.
Пример 2 попроще: Нарисуйте одновременно левой рукой круг, а правой рукой квадрат
Чем больше аппаратных потоков (ядер процессора) в системе, тем сложнее организовать такие вычисления.
Можно очень просто это делать:
The RenderScript runtime will parallelize work across all processors available on a device, such as multi-core CPUs, GPUs, or DSPs, allowing you to focus on expressing algorithms rather than scheduling work or load balancing.
Все зависит от базового алгоритма.
Есть простейшие алгоритмы, где нет промежуточных вычислений и зависимостей между вычислениями. По вашей ссылке там такой пример и приведен - параллельное выполнение инвертирования. Операция практически независимая по всем пикселям - бери миллион или миллирард пикселей и просто делай инвертирование - единый и простейший алгоритм.
Я же говорю про другие задачи, когда вычисления проводятся не по единому алгоритму а по их множеству. Простейший пример. Попробуйте на ГПУ распаралелить на множестве ядер алгоритмы игры в шахматы. Попытайтесь за счет вычислительных ресурсов выжать максимум из этих алгоритмов и отработать максимум стратегий и выбрать лучшую. А самое главное сделать так, чтобы ядра не простаивали и друг друга не ждали большую часть времени...
Вот какая штука встретилась:
4-мерный гиперкуб – тессеракт
На нижеприведенной схеме вершины тессеракта расположены в соответствии с расстояниями вдоль граней относительно нижней точки. Эта схема интересна тем, что она используется как базовая схема для сетевой топологии соединения процессоров при организации параллельных вычислений: расстояние между любыми двумя узлами не превышает 4 длин ребер, и существует много различных путей для уравновешивания нагрузки. [ссылка]
Интереснее другая картинка- развертка тессеракта.
Раньше на макушках церквей именно такие штуки стояли-
потом их заменили на плоские.
Вот и думай- может предки нам чего сказать этим хотели.
Самое важное в этой фигуре- что развертка четырехмерного пространства в нашем
трехмерном- несимметрична- появляется выделенное направление.
Это как ход времени, или гравитация- у нас это имеет направление-
а там это симметрично.
dedivan | Post: 474912 - Date: 13.07.15 (15:45)
Интереснее другая картинка- развертка тессеракта.
Раньше на макушках церквей именно такие штуки стояли-
потом их заменили на плоские.
Развертку тессеракта привожу ниже (вдруг кто то не видел).
Вообще тема с мерностью - очень важная, хотя ей мало уделяют внимания.
Проявление одной и той же темы на разных уровнях:
- алгоритмы: чаще всего программисты составляют алгоритм, который относительно легко отобразить на "листе бумаги" - на плоской поверхности, т.е. алгоритм двумерный. А могут ли быть 3-х мерные алгоритмы? - могут, их будет сложно разрисовать на плоскости, но некоторые задачи будут решаться ими исключительно просто и элегантно.
(теперь "безумная идея": если
...развертка четырехмерного пространства в нашем
трехмерном- несимметрична- появляется выделенное направление.
Это как ход времени, или гравитация...
то не получится ли так что и наши "несимметричные алгоритмы", идущие от "начала" к "концу" могут быть представлены симметричными фигурами большей мерности?)
- процессоры: в свое время (еще при Союзе) научились выращивать 3-х мерные процессоры, но денег на развитие темы не дали - так она и "погасла" (это не ускоритель, который ионами стреляет - другая штука). А ведь дополнительное измерение дает принципиально новые возможности в компоновке процессора...
- наше 3-х мерное пространство: если это проекция чего-то 4-х мерного, предположительно симметричного, то однозначно могут существовать и другие проекции все того же, для нас это возможно будет восприниматься как другие миры, но самое забавное - они будут связаны с нашим миром - объект-то 4-х мерный один и тот же!...
- алгоритмы: чаще всего программисты составляют алгоритм, который относительно легко отобразить на "листе бумаги" - на плоской поверхности, т.е. алгоритм двумерный.
Не, код нитями (threads) исполняется, они одномерны, но с ветвлениями.
Это в нашем пространстве нити. Но у нас в одну и ту же реку дважды не войдешь,
а там можно и раз и два и вообще зациклить навечно.
То есть там еще и аналогия путешествия во времени.
Если представить пространства наше и времени, то это как два мячика.
Оба трехмерные. Пространство времени и пространство метрическое.
Соприказаются они в одной точке.
Из нашего метрического пространства- эту точку видим как - Сейчас.
А из времени её видно как - Здесь.
Здесь и сейчас - это одна точка , но видимая их разных пространств.
А нить- как аналогия, это что то хитрое- может и в пространстве времени хомутать петли.
Так что она не совсем одномерная.
в программе моей ЗУ как раз используется, если вашими словами, "трехмерный алгоритм".
ничего сложного там.
голову применить надо а не картинки рисовать.
и забывать про "стековые вычисления".
На мой взгляд программы, не использующие стек, обладают большей надежностью (это я о тех случаях, когда все пишется с нуля для какого ни будь микроконтроллера). Реализация стека вносит свои глюки, и, самое плохое, что я не знаю где их ожидать... - а потом сиди, играй с параметрами, то работает программа, то не работает... В простых задачах лучше без него. Хотя, есть ситуации, как пример можно привести рекурсивную фильтрацию, когда стек и подобные устройства позволяют достаточно просто реализовать обработку данных. Вероятно это как раз используется в архивации данных.
Там еще не только в этом дело.
Об открытости кода Линукса- [ссылка]
Открытое ПО для Linux на сегодня - миф Очень дорогостоящий причем.
Поэтому и микрософт иногда кое-кому кое-когда предоставляет возможность глянуть на исходники
Открытость кода на языке Си это маскировка.
Все спрятано в компиляторе GCC. Неважно что написано в тексте на Сях - компилятор вставляет в это место все что ему угодно.
Мне даже не удалось самостоятельно найти место для копания, что собственно не удивительно - там пол гига мелкого шрифта кракозябрами.
В тексте одно, а что делает на самом деле процессор- обному богу известно, ну и десятку "посвященных" которые общаются
между собой на одном им понятном языке.
Там реально инопланетяне кодят, у них свой сленг и упрощения (о которых гугол не знает)
Учите ребятки ассемблер, если хотите чтобы ваш комп делал только то, что вы хотите.