LINUX.ORG.RU

Компилировать gentoo на FPGA


0

1

Имеет смысл?

Ну то есть сам компилятор попытаться реализовать аппаратно.

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

компилятор попытаться реализовать аппаратно

Ну ок.

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

«Почему не в development»©.

anonymous
()
Ответ на: комментарий от deadline-multishiva

Потому что у FPGA совершенно другая область применения.

Судя по твоему флуду в технических разделах ты этого не понимаешь. Поэтому могу только посоветовать тебе сделать вдоль и не засорять форум своим бредом.

ymn ★★★★★
()

Ну то есть сам компилятор попытаться реализовать аппаратно.

сначала попытайся

Harald ★★★★★
()

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

wakuwaku ★★★★
()
Ответ на: комментарий от wakuwaku

значительно больше времени уйдёт на передачу и загрузку данных

нет. PCI-e быстрая шина, не медленнее чем диск

deadline-multishiva
() автор топика
Ответ на: комментарий от ymn

если что-либо ещё никто не делал, то это не значит, что это сделать невозможно или не нужно.

Вот например C# программы компилируют в FPGA:

http://blogs.msdn.com/b/satnam_singh/archive/2010/10/15/compiling-c-programs-...

Чем я хуже, почему мне нельзя, а им можно?

не засорять форум своим бредом.

ну да, ну да, а лет через 10 на этом будут кандидатские защищать и в России...

deadline-multishiva
() автор топика
Ответ на: комментарий от Rubbiroid

Это конвретер из C# в Verilog.

вот и отличненько, сконвертирую mcs - это компилятор C# из состава mono, написанный на C#. А потом буду им компилировать.

deadline-multishiva
() автор топика
Ответ на: комментарий от Rubbiroid

нет, ты не ёрничай, ты попробуй объяснить, почему этим заниматься не надо? Я так понимаю, что лично ты бы этим заниматься не стал и поэтому запрещаешь это направление развития всем людям на земле. Всё верно?

deadline-multishiva
() автор топика
Ответ на: комментарий от deadline-multishiva

Вот например C# программы компилируют в FPGA

Не увидел в статье как там компилируют сишарп в фпга. Там описана приблуда для трансляции C# в Verilog. Мы, например, пишем подобное на Coq, с доказательствами и поэтессами.

ymn ★★★★★
()
Ответ на: комментарий от deadline-multishiva

Ибо гонки на бульдозерах очень захватывающее зрелище. Ну, еще можно атомной бомбой колорадских жуков травить. А можно С++ на плиске компилять.

Rubbiroid
()
Ответ на: комментарий от Dron

Ой, делов там... Взял армовое ядро, добавил памяти - вот те и «хардварный компилятор» :)

Rubbiroid
()

Не имеет смысла.

Ну то есть сам компилятор попытаться реализовать аппаратно.

Это нужно уметь...

a1batross ★★★★★
()
Ответ на: комментарий от deadline-multishiva

Да, это лор, детка)

Самый простой способ компилировать на FPGA купить or1k совместимую плату (где-то на opencores.org есть ссылка) прошить её в openrisc, поставить linux, ну и дальше догадаешься.)

Хотя современные x86 процессоры тоже вобщем-то подходят под тему

sergej ★★★★★
()
Ответ на: комментарий от Rubbiroid

это ты читать разучился.

Там же ясно написано «разработана технология», «позволяют утверждать о решении основых вопросов».

deadline-multishiva
() автор топика

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

prischeyadro ★★★☆☆
()
Ответ на: комментарий от prischeyadro

а может я что-то прологоподобное возьму или такого типа с высокими возможнстями параллелизации. Есть же пролог под mono

deadline-multishiva
() автор топика
Ответ на: комментарий от Dron

это архисложно в кубе.

На самом деле, не так уж и сложно. Можно для нача реализовать компилятор какого-нибудь стекового языка (типа brainfsck) или того же примитивного ASM. С/С++ подтянутся по ходу дела.

Через пару релизов там уже скрипты на питонах и жаваскриптах будут :)

KennyMinigun ★★★★★
()
Ответ на: комментарий от deadline-multishiva

ты так говоришь, как будто нет компиляторов C# написанных на C#

Я практически не разбираюсь в теме (FPGA), но интуиция мне подсказывает, что либо результат конвертации компилятора C# с C# в verilog вообще не влезет ни в один реально существующий и доступный для покупки FPGA, либо он будет адово тормозить.

Deleted
()
Ответ на: комментарий от deadline-multishiva

та «научная работа» это 2 часа лекций из курса «High Level Sythesis Microelectronic Circuits» профессора Zipf'a из университета Касселя. Это такой городок в Германии на 250к населения.

И с компиляторами на плисках не имеет ничего общего.

Rubbiroid
()

см. http://www.loper-os.org , например 1 2 3

-- он изобретает «лисп-машину» нового поколения, где железо было бы переконфигурируемое,

например, см. интервью

Ну то есть сам компилятор попытаться реализовать аппаратно.

см. dataflow engine. При такой организации «железо» только прокачивает данные, логика программы определяется самими данными и возможностями аппаратных узлов.

Теоретически, возможно компилировать программу в железо, в такие узлы, также, как FPGA компилирует в отдельные вентили.

Практически, это потребует реализации аппаратного компилятора в такую архитектуру. См. например те же dataflow, В. Глушко про R-вычисления и синтез железа из алгебры программы, статьи по переконфигурируемой архитектуре (например, лисп-машины Тома Кнайта и диссер автора «ноутбука на FPGA», bunnie — аспиранта этого Кнайта, про переконфигурируемую архитектуру). Опять же, loper хочет сделать eval/apply в железе, и dataflow аппаратный движок над этим.

Практически, такие «компиляторы в железо» не очень распространены. Например, потому что отладка (профилирование и бенчмаркинг) такого компилятора довольно сложная вещь.

Имеет смысл?

нет, потому что это будет узкоспециализированное решение, которое не будет настолько универсально, как gentoo. К тому же отлаживать и перенастраивать его будет сложно.

Если тебя эта узкая специализация устраивает — тогда нужно измерить производительность, и тогда, возможно, имеет смысл.

В общем случае, нет.

anonymous
()
Ответ на: комментарий от prischeyadro

О смысле комплексных чисел (we need moar упорин)

к Комплексные числа являются нарушением закона! (комментарий)

Они являются собственными числами для линейных преобразований. Поэтому линейные преобразования любой сложности могут быть представлены в виде умножения собственного вектора на комплексное число. Умножение на комплексное число это интересная вещь, которая описывает изменение амплитуды и некоторое смещение. Например углам 0, pi/2, pi, 3*pi/2 соответствуют числа 0, i, -1, -i. Если их умножать, то можно увидеть, что произведение одного числа на другое будет соответствовать сдвигу угла.

Поэтому самую сложную линейную систему можно однозначно описать при помощи АФЧХ — зависимости комплексной амплитуды (амплитуды и фазы) от частоты. Синусы тут будут собственными векторами, комплексные амплитуды — собственными значениями. И с её помощью описать преобразование любых сколь угодно сложных входных значений, не только синусов.

==>

Пупкеркомплексные числа, они являются собственными числами для линейных преобразований. Поэтому линейные преобразования любой сложности могут быть представлены в виде умножения собственного вектора на пупкеркомплексное число. Умножение на пупкеркомплексное число это интересная вещь, которая описывает изменение растояния амплитуды и некоторое смещение угла фазы и некоторое смещение (трансклюкацию) препроморфизма зигохистоида. Например, расcтояниям 0, 1 сответствуют пупкин-числа 0, ... углам 0, pi/2, 3*pi/2 соответствуют пупкин-числа 0, i, -1, i, препроморфизмам зигохистоида e^(-inf комплексный)=0_пч, e^0=1 , e^1 = e, e^ ... = pi, e^ .. = i соответствуют пупкин-числа ..... Если их умножать, то можно увидеть, что произведение одного числа на другое будет соответствовать сдвигу по углу, по фазе, по шизе (psi) или трансклюкации относительно препроморфизма зигохистоида.

Поэтому самую сложную линейную систему можно однозначно описать при помощи АФхзЧХ — зависимости пупкеркомплексной амплитуды (амплитуды и фазы и шизы, то есть, хз чего зигохистоида) от частоты. ПупкерСинусы тут будут собственными векторами, пупкеркомплексные амплитуды — собственными значениями. И с её помощью описать преобразование (включая трансклюкацию по препроморфизмам зигохистоида, а не только смещение по амплитуде, фазе, шизе) любых сколь угодно сложных входных значений, не только пупкерсинусов.

Пупкеркомплексные числа пригодны для описания сложной АФхзЧХ := АФ(ХЗ)ЧХ и выводятся из формулы Васи Пупкина точно таким же образом, как и комплексные выводятся из формулы Эйлера. Очевидно, что формула Пупкина является обобщением формулы Эйлера, если обе части уравнения формулы Эйлера протрансклюкировать относительно ХЗ и применить ХЗ-пупкеркомплексную линейную комбинацию (далее, ХЗ-комбинация).

anonymous
()
Ответ на: О смысле комплексных чисел (we need moar упорин) от anonymous

Очевидно, что формула Пупкина является обобщением формулы Эйлера, если обе части уравнения формулы Эйлера протрансклюкировать относительно ХЗ и применить ХЗ-пупкеркомплексную линейную комбинацию (далее, ХЗ-комбинация). Поэтому далее рассмотрим её свойства.

формула Эйлера связывает

а. Три константы: 0,1, pi (или её выражение через виртуальные «псевдоконстанты» i? e?, выведенные пополнением относительно операций sqrt, показательная_функция)

б. Три операции: *, + , e^x ( или: tra(x) ??операция трансклюкации пупкеркомплексных?? pi(x) ???деритрипам-пам-ция, или операция длины напрямки??? )

в. Если это так, тогда почему мы считаем, что pi — это константа в вещественных числах, а не «псевдоконстанта» pi(x) в пупкеркомплексных , полученная разрешением уравнения Пупкина относительно операции трасклюкации (точно так же, как константы 0, 1, pi получены разрешением уравнения Эйлера относительно операций сложения, умножения, операции pi(x) «взятия длины геодезической по поверхности огибающей по хорде по отношению к длине напрямки насквозь по радиусу») при некотором x из ХЗ-комбинации ?

Какова произвольность выбора базовых констант (и псевдоконстант)? При другом выборе базовой константы вместо pi в а. мы получим другой набор операций и «псевдоконстант». То есть, и операции, и (псевдо)константы — не являются независимыми, а выводятся из решений уравнений Эйлера-Пупкина при фиксации некоторой базовой константы и операции.

anonymous
()
Ответ на: комментарий от anonymous

Осталось установить точный вид формулы Пупкина и сущность операций трансклюкации. А также «физический смысл» зигохистоида и его частной характеристики, препроморфизма, при перемещении в наблюдаемом пространстве (сдвигу по шизе, неочевидно наблюдаемому — в отличие от сдвига по фазе, наблюдаемому очевидно).

Решением  уравнения Эйлера e^(i*pi) + 1 = 0 относительно операции сложения
 является общий вид уравнения 
 0  + 0 = 0, 
 -1 + 1 = 0
 
 откуда  выводится псевдоконстанта 0.
 
 Решением  уравнения Эйлера относительно операции умножения 
 
   0 = x * 0 
   1 = 1 * 1 
  -1 = (-1)*1 = e^x  => x = ...
  
  является вид 1 * x = x (или, -1 * x = -x) и выводится 
  псевдоконстанта 1 (или -1).
  
 Решением  уравнения Эйлера относительно операции извлечения квадратного
 KoRNа и псевдоконстанты (-1) является вид sqrt(-1)=0 и 
 выводится псевдоконстанта  i.
 
 Решением  уравнения Эйлера относительно операции ???_1 
 является вид l/d=pi или l=d*pi(x) 
 и выводится псевдоконстанта PI=pi(x) при x=1.
 
 Решением уравнения Эйлера относительно операции ???_2
 является вид  Xln (-1) = Xln(e^(i*pi)) = i*pi ,
                  
 откуда
 e^1=e=Ф[Xln(-1)]=...
 
  i*pi=1 или l=1, d=i относительно операции pi(x) ???_1
  
  где Xln -- пупкеркомплексный гиперлогарифм 
  (определённый на -1 и <> -inf, в пупкеркомплексных гиперчислах,
   в отличие от обычных -- вещественных или комплексных чисел,
   для которых ln(-1) = -inf или не определён)
   
  Ф[..] -- оператор ХЗ-трансклюкации или обратный ему F=Ф^(-1)
  ...
  
 откуда выводится "псевдоконстанта" e.    

Таким образом, {0,} 1,e,pi,i,...итд...  — все они являются собственными значениями пупкеркомплексных гиперчисел, частными решениями уравнения Пупкера в общем виде относительно операции трансклюкации в случае линейных преобразований.

Частичными приближениями функционального ряда 0(x),1(x),e(x),pi(x),(i*1)(x),(ie)(x), (ipi)(x),...,i(i(x)),...... являются простые числа 0,1,2=int[e],3=int[pi], 5=int[pi*e-pi], 7=int[pi*pi-e], 11=int[pi*e+pi],13=int[pi*pi-e+1],17=int[...],... в качестве каждой из координат и соответствующая линейная ХЗ-комбинация над ними.

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

При изменении реальности в результате ХЗ-трансклюкации достаточно пересчитать псевдоконстанты относительно других выражений и операций, сохранив инвариантность выражений относительно заданных собственных значений ХЗ-комбинации пупкинкомплексных гиперчисел.

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

//</бобёр выдохнул>

anonymous
()
Ответ на: комментарий от deadline-multishiva

Или эрлангоподобное с акторами.

См. Dataflow architecture

И про URBIT

Хотя сдаётся, что нисаилишь. Для начала каких-нибудь простых экспериментов потыкай.

anonymous
()
Ответ на: комментарий от prischeyadro

не так уж и по-другому — например, в gcc это разные приложения, а в GoLang это разные горутины, связанные каналами

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.