Pull to refresh
270
15.2
Николай @nckma

Программист

Send message

Там интересно то, что можно свою произвольную архитектуру FPGA описать и использовать netxpnr-generic для трассировки.

Там дальше еще смешнее:

Недостатки тоже были:

  • Не было встроенной кэш‑памяти.

  • Не было схем умножения и деления.

  • Не было модуля с плавающей (float) запятой, отчего операции с нецелыми числами выполнялись медленно.

  • Чип работал на скромной частоте 6 МГц. В те годы 32-битный процессор Motorola 68 020 имел 17 МГц. Однако мощность у них была одинаковая.

Был в 10 раз быстрее, но не было схем умножения и деления. Круто.

"катитесь на курорт в конце линии "

Там были все.
А про тот мыс у моря знают немногие.

Вообще мне удивительно само положение вещей, когда очень многие программисты (это же хабр? верно?) с восторгом принимают идею запланированного кем-то инкубатора: здесь вы будете спать, сюда будете ездить отдыхать, вот так вы будете перемещаться на работу.

Вы не сможете этого сделать.

Человек слишком эгоистичен и индивидуален. Трудно отнять у него такую вещь, как автомобиль. Отказаться от автомобиля и дорог в пользу чего? Квадрокоптера? Аэромобиля? До этого слишком далеко технологически.

Я например, почти каждые выходные еду за город к морю смотреть закат или встечать рассвет. И дорогу туда на этот мыс мало кто знает.

Чем в городе будущего можно заменить закат над морем?

Мне кажется, что прорывные технологии можно создавать более простыми способами. Хотите 3Д город? Ну сделаейте его просто 2х слойным. Движение на автодорогах города по направлению север-юг на нижнем слое, а запад-восток на верхнем слое. Все дороги односторонние, поворот-съезд только направо, светофоров нет. Пешеходные пререходы по эстакадам с лифтами.

Вот это город будущего.

Хотя эта площадка внешне отпугивает и выглядит подозрительно, но именно на ней я получил первое предложение $5000.

Так продали или нет? Если продали, то как получили деньги доллары на свой счет?

И в конце статьи:

Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку

Нет, статья не вдохновила, а расстроила тем, что направление ПЛИС в РФ под санкциями будет загибаться медленно, но верно.

То-то я смотрю Илон Маск уже заговорил про торговые барьеры:

Elon Musk: China automakers would 'demolish' rivals without trade barriers. PALO ALTO, U.S. -- Tesla CEO Elon Musk said Chinese automakers would "demolish" most of the world's other car companies if there were no trade barriers.

Когда-то давным давно я пытался запустить Amber ARM v2a SoC в ПЛИС.

Как часть той работы была симуляция работы процессора и запуск какого-то усеченного Линукс.

https://marsohod.org/projects/marsohod2/amber-arm-soc/396-amber-arm-v2a-soc-verilator

Там в конце моей статьи написано такое:

Самое интересное, что если с Icarus Verilog на подобную симуляцию загрузки ядра Linux уходило минут сорок пять, то теперь, с Verilator, полный старт симулируемой системы происходит секунд за 30! Невероятно. Я честно говоря очень впечатлен получившимся быстродействием. Очень рекомендую присмотреться к Verilator. В некоторых случаях - отличный инструмент.

"Linux на такой конфигурации не запустить — он будет неделю стартовать и в итоге вообще не запустится."

Смотря какой Linux. Простой консольный Линукс на CPU без MMU даже на Icarus Verilog за пол часа стартует. А с верилатором думаю 10 секунд будет.

С теорией вопроса как раз более или менее понятно.

Лично я прочитал квантовый ликбез "Алгоритм Гровера" вот здесь https://eslitak.livejournal.com/247410.html

(Хотя и тут в математических выкладках есть опечатки, на кои я указывал автору, но он не исправил). Это самая понятная статья из всех, что я видел. По этой же статье я писал свою первую программу на python / qiskit и она заработала. Но что дальше...

Во всей этой истории остается действительно непонятным

1) физическая реализация и вот эти все вопросы типа как инициализируется и стартует программа

2) практическая применимость. По ссылке которую я привел к примеру рассматривается задача "есть ли число 9 среди чисел от 0 до 15". Ну право слово смешно. Покажите мне лучше программу на q# для вычисления нонсе биткоина.

Хотелось бы понять, как это всё работает от компилятора до реализации в железе. К сожалению такой информации в понятном виде нигде не находил.

Вот к примеру, как работает обычный процессор я представляю себе - его можно самому на верилоге написать и загрузить в ПЛИС, потом написать программу откомпилировать и она будет на этом процессоре работать.

С квантовыми компьютерами все не так. Никто толком объяснить не может.

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

Попробую изложить свой вопрос по другому. Вот к примеру фрагмент программы для квантового компьютера:

Здесь всего 7 кубитов. В программе используются следующие элементы: H (Адамара), X (NOT) и + (CNOT и CCNOT).

Программа придуманная человеком определяет соединение этих элементов в последовательности и связи между кубитами. Существуют ли физически эти элементы H,X,CNOT,CCNOT по отдельности в виде деталей, и как они физически соединяются?

К примеру в этой программе состояние кубита q0 передается на операцию Адамара, а состояние кубита q4 передается на NOT и потом Адамара. А кубиты q1 и q2 наоборот сперва Адамара а потом NOT.

А в другой программе будет конечно не так - ведь это будет другая программа.

Как обеспечивается загрузка / инициализация вот этих связей в квантовом компьютере?

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

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

Ну допустим, это q#.

Но ведь все компьютеры разные, как потом скомпилированную программу (байт код?) запустить на всех этих разных по архитектуре компьютерах? Должен быть какой-то загрузчик (созданный производителем компьютера?), который инициализирует компьютер согласно байткоду q#? Как это вообще работает? Похоже ли это к примеру на ПЛИС? В ПЛИС загружается прошивка, которая устанавливает связи между логическими элементами схемы, фактически в статическую память ПЛИС загружается битовый образ прошивки, который управляет мультиплексорами, которые связывают логические элементы. В квантовом компьютере примерно так же или нет?

А есть ли какие-то высокоуровневые языки программирования для этой штуки? Ну кроме python/qiskit, который похож скорее на ассемблер, чем на высокоуровневый язык.

Сомневаюсь, что кто-то может написать программу типа взлома ключей на qiskit.

Есть же RISC-V, их много реализаций на любой вкос. Для чего люди делают свою?

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

Вот про libhybris я не знал. Может нам стоит попробовать использовать его и тогда все и правда получится?

Я прямо сейчас занимаюсь проектом, к которому нам производитель дал среду, которая собирает всю ОС. Собирать-то собирает, только пользоваться ею толком нельзя. И проблемы с драйверами конкретно Mali у нас есть и ничего сделать не можем. Уже и драйвер ядра заменили на панфрост и блобы нам дают другие, а толку нет. Репорты производителю шлем, а толку нет. Производитель чипа сделал кастомное управление памятью GPU, что именно мне неизвестно. В результате мы не можем использовать современные композиторы, доступен только Weston дурацкий.

Все исходники есть, а пользоваться не получается.

1
23 ...

Information

Rating
382-nd
Date of birth
Registered
Activity