URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 85985
[ Назад ]

Исходное сообщение
"Открыт код Rootbeer, компилятора байткода Java в представлен..."

Отправлено opennews , 13-Авг-12 00:47 
В рамках проекта Rootbeer GPU Compiler (https://github.com/pcpratts/rootbeer1) подготовлен открытый компилятор, позволяющий разработчикам программировать GPU на языке Java или организовать выполнение существующего Java кода с задействованием GPU. Принцип работы Rootbeer сводится к трансляции байткода Java в формат CUDA-приложения, выполняемого с использованием GPU.  Код Rootbeer распространяется под лицензией MIT. Проект разработан при поддержке Национального научного фонда США.

В отличие от Java-биндингов для CUDA и OpenCL, Rootbeer не требует от разработчика преобразования сложных иерархий объектов в набор примитивных типов и отдельного написания GPU-ядра на CUDA или OpenCL. Rootbeer  позволяет автоматически и в прозрачном режиме  преобразовать произвольную иерархию Java-объектов в инструкции GPU и обеспечить  написание GPU-ядра целиком на Java.  Возможность автоматической генерации кода CUDA на основании произвольного кода Java обеспечена благодаря использованию методов статического анализа байткода Java. Статический анализ выполняется с использованием наработок проекта Soot (http://www.sable.mcgill.ca/soot/).


Из не поддерживаемых в Rootbeer возможностей Java отмечаются рефлексия, нативные методы, засыпание в режиме мониторинга, динамическое обращение к методам. На стадии разработки находится код для обеспечения работы сборщика мусора. С позиции производительности, многое зависит от типов решаемых задач. Например, в тестах на умножения матриц высокой размерности и подбор элементов ряда Фурье,  Rootbeer позволил ускорить выполнение программ в 67 раз и 58 раз, но в тесте наложения фильтра на изображение наблюдалось замедление в 3.8 раза.

С практической стороны использование сводится к трансляции Java-кода в представление, задействующее вычисления на стороне GPU: "<font color="#461b7e">java -jar Rootbeer.jar InputJar.jar OutputJar.jar</font>". После чего преобразованный jar-архив может быть запущен как обычная программа: "<font color="#461b7e">java -jar OutputJar.jar</font>".


URL: http://developers.slashdot.org/story/12/08/12/0056228/rootbe...
Новость: http://www.opennet.me/opennews/art.shtml?num=34558


Содержание

Сообщения в этом обсуждении
"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Xasd , 13-Авг-12 00:47 
> java -jar Rootbeer.jar InputJar.jar OutputJar.jar

ништяг..

..на входе один блоб (возможо проприетарный?) а на выходе другой :-D

вот до чего дошли blob-технологии!


"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Crazy Alex , 13-Авг-12 14:55 
А что не нравится? Инструмент открытый. Опять же - это значит, что можно любой, даже чужой, код попытаться так обработать. Ну и джава - это, вообще говоря, полублоб - не зря без применения специальных мер она декомпилириуется чуть ли не идеально.

"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Аноним , 13-Авг-12 15:32 
Ну так jar это не совсем блог

"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Avator , 13-Авг-12 17:02 
Вы бы хоть посмотрели, что такое jar.

"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Аноним , 13-Авг-12 00:53 
И что это даёт?

"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено VoDA , 13-Авг-12 03:05 
Использование GPU в программах на Java. Дальше могут всяческие число-дробилки на этом делать или массово-параллельные системы.

"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Аноним , 14-Авг-12 12:01 
Уже 1,5 года есть Diablo Miner, использующий OpenCL. Какое расширение используется я не знаю.

"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Аноним , 14-Авг-12 18:30 
> Уже 1,5 года есть Diablo Miner, использующий OpenCL. Какое расширение используется я не знаю.

...а потом пришел Кон Коливас и показал всем как надо майнеры писать. Разом заткнув поделия на яве и питоне и по скорости и по скромности нецелевого пожирания ресурсов :)



"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено pavlinux , 13-Авг-12 03:23 
> И что это даёт?

Оправдание покупки NVIDIA Tesla  :)


"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Аноним , 13-Авг-12 09:19 
Почему потомки Николы Тесла не подали иск на Nvidia за нарушение копирайтов ?

"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Andrey Mitrofanov , 13-Авг-12 10:15 
> Почему потомки Николы Тесла не

Может, потому что детей у него не было?


"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено gabin , 13-Авг-12 12:40 
а жаль

"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено кевин , 13-Авг-12 17:40 
они уже у тесла моторс... или как там компанию которая суперэлектрокары делать.

"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Аноним , 13-Авг-12 01:20 
Жалко, с рефлексией не работает, удобная штука.

"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Anonus , 13-Авг-12 03:39 
А что это за рефлекция такая?

"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено pavlinux , 13-Авг-12 03:58 
http://en.wikipedia.org/wiki/Reflection_(computer_programming)

"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Anonus , 13-Авг-12 22:04 
> http://en.wikipedia.org/wiki/Reflection_(computer_programming)

Ответ не верный ! В статье ясно написано - рефлексия, а это означает следующее:

Рефле́ксия (от позднелат. reflexio — обращение назад) — междисциплинарное понятие с многовековой историей, обращение внимания субъекта на самого себя и на своё, в частности, на продукты собственной активности, а также какое-либо их переосмысление.

( http://ru.wikipedia.org/wiki/%D0%A0%D0%B... )

А твоя ссылка говорит о reflection, по-русски это называется - ОТРАЖЕНИЕ. Термин давно устоявшийся и поэтому его и нужно применять, а не выдумывать свой, никому ненужный "фольклёр".


"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено piteri , 13-Авг-12 22:49 
Не встречал ещё программистов использующих термин "отражение" в данном случае.
Лично вам могу посоветовать изучить правописание слова "фольклор".

"Открыт код Rootbeer, компилятора байткода Java в..."
Отправлено arisu , 13-Авг-12 22:52 
эти так называемые «программисты» и функционалы у программ находят заместо фнкциональности. больные люди, что возьмёшь…

"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Anonus , 14-Авг-12 00:57 
> Не встречал ещё программистов использующих термин "отражение" в данном случае.

Гуглим следующее словосочетание: "java отражение", обращаем внимание на даты
написания статей и книг.

> Лично вам могу посоветовать изучить правописание слова "фольклор".

Именно поэтому слово "фолклёр" взято в кавычки



"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено piteri , 14-Авг-12 10:42 
>Гуглим следующее словосочетание: "java отражение", обращаем внимание на даты написания статей и книг.

Первые 2 страницы гугля (дальше смотреть не стал) выдали вот эти книги:
Зеркальное отражение - Клэнси Том
Отражение во мгле - Цормудян Сурен
Скачать книгу Отражение Ворона
Сборник рассказов "Зеркала, отражения"
Казаков Д.- Идеальное отражение

Касательно жавы только статьи, форумы и вики с 2008 по 2012.

Я думаю вам стоит пояснить свою мысль.


"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Anonus , 15-Авг-12 01:40 
>>Гуглим следующее словосочетание: "java отражение", обращаем внимание на даты написания статей и книг.
> Первые 2 страницы гугля (дальше смотреть не стал) выдали вот эти книги:
> Зеркальное отражение - Клэнси Том
> Отражение во мгле - Цормудян Сурен
> Скачать книгу Отражение Ворона
> Сборник рассказов "Зеркала, отражения"
> Казаков Д.- Идеальное отражение
> Касательно жавы только статьи, форумы и вики с 2008 по 2012.
> Я думаю вам стоит пояснить свою мысль.

Гугление по "java отражения" первой же ссылкой выдаёт вот это:

"Java: магия отражений" ( URL: http://samag.ru/archive/article/28 )

Статья из архива журнала "Системный Администратор" за 2002 год.


"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено piteri , 15-Авг-12 10:11 
>Java: магия отражений

У меня не первой, да и гуль почему то подписал её как 2011, а внутрь не лазил. Тем не менее

http://www.rsdn.ru/article/java/tiger.xml
Тоже 2002, используется "рефлексия".

А вообще ситуация как с типом bool (boolean) по-русски то он конечно "логический", только вот мало кто его так называет.


"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Anonus , 16-Авг-12 02:49 
>>Java: магия отражений
> У меня не первой, да и гуль почему то подписал её как
> 2011, а внутрь не лазил. Тем не менее

Напрасно, надо было заглянуть.


> http://www.rsdn.ru/article/java/tiger.xml
> Тоже 2002, используется "рефлексия".

Заглянул в "классику жанра":

Философия Java. Библиотека программиста. 3-е изд./Б. Эккель -- СПб.:Питер, 2003. -- 971 .:ил.
ISBN: 5-88782-105-1

В главе 10 ( "Определине типов" ) на странице 397 читаем название подраздела
"Отражение: динамическая информация о классе".


> А вообще ситуация как с типом bool (boolean) по-русски то он конечно
> "логический", только вот мало кто его так называет.

С "булевским типом" соглашусь, а вот рефлексии до сих пор ни разу не слышал, тока на английский манер: рефлекшн.



"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Anonus , 16-Авг-12 02:50 
FIX:

В главе 10 ( "ОпределЕНИЕ типов" ) на странице 397 читаем название


"Открыт код Rootbeer, компилятора байткода Java в..."
Отправлено arisu , 13-Авг-12 04:49 
> А что это за рефлекция такая?

http://ru.wikipedia.org/wiki/Рефлексия

скайнет не за горами.


"Открыт код Rootbeer, компилятора байткода Java в..."
Отправлено pavlinux , 13-Авг-12 05:03 
Какой нафиг Скайнет, java-программы как носки - носить может только хозяин,
при переносе на другой компьютер они полностью нарушают микрофлору.

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


"Открыт код Rootbeer, компилятора байткода Java в..."
Отправлено arisu , 13-Авг-12 05:18 
> Какой нафиг Скайнет

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


"Открыт код Rootbeer, компилятора байткода Java в..."
Отправлено pavlinux , 13-Авг-12 05:32 
>> Какой нафиг Скайнет
> ну дык рефлексии же.

Как бы они этого не хотели, но программа не может сама себя менять,
хотя бы из-за того, что программа не знает смысла своего существования
и отсутствия главного инстинкта.


"Открыт код Rootbeer, компилятора байткода Java в..."
Отправлено arisu , 13-Авг-12 06:03 
многие жаба-кодеры не сильно отличаются — а живут же…

"Открыт код Rootbeer, компилятора байткода Java в..."
Отправлено Аноним , 13-Авг-12 10:16 
> Как бы они этого не хотели, но программа не может сама себя менять,

Полиморфные вирусы смотрят на тебя как на ... :)


"Открыт код Rootbeer, компилятора байткода Java в..."
Отправлено filosofem , 13-Авг-12 20:56 
Тролли смотрят на тебя как на... еду.  =)

"Открыт код Rootbeer, компилятора байткода Java в..."
Отправлено Аноним , 14-Авг-12 18:27 
> Тролли смотрят на тебя как на... еду.  =)

Это ты павлину с его опрометчивыми заявлениями скажи :)


"Открыт код Rootbeer, компилятора байткода Java в..."
Отправлено Аноним , 13-Авг-12 09:16 
судя по вышесказанному, вы хреновенько владеете java-окружением

"Открыт код Rootbeer, компилятора байткода Java в..."
Отправлено Аноним , 13-Авг-12 10:17 
> судя по вышесказанному, вы хреновенько владеете java-окружением

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


"Открыт код Rootbeer, компилятора байткода Java в..."
Отправлено piteri , 13-Авг-12 09:25 
http://en.wikipedia.org/wiki/Write_once,_run_anywhere не?

"Открыт код Rootbeer, компилятора байткода Java в..."
Отправлено Af. , 13-Авг-12 09:34 
> http://en.wikipedia.org/wiki/Write_once,_run_anywhere не?

Кмк интереснее объектная-ориентированность и способность легче описывать сложные системы. В пику Сям. Тогда существование и версия модулька JRE дело маловажное.


"Открыт код Rootbeer, компилятора байткода Java в..."
Отправлено arisu , 13-Авг-12 10:02 
> Кмк интереснее объектная-ориентированность

это ж откуда она там взялась? Алан Кей делает даблфэйспалм.


"Открыт код Rootbeer, компилятора байткода Java в..."
Отправлено piteri , 13-Авг-12 22:55 
>> Кмк интереснее объектная-ориентированность
> это ж откуда она там взялась? Алан Кей делает даблфэйспалм.

это куда ж она оттудва делась? Джеймс Гослинг в недоумении.


"Открыт код Rootbeer, компилятора байткода Java в..."
Отправлено arisu , 13-Авг-12 23:00 
> это куда ж она оттудва делась? Джеймс Гослинг в недоумении.

вот именно: до сих пор в недоумении, как на этом его вы… высокотехнологичном продукте ещё и пишут что-то. а Алан Кей вообще на большинство современных так называемых «ооп-языков» смотрит как Свиборг. потому что основную концепцию ООП — посылку сообщений — они где-то потеряли. только Objective C стоит с троллфэйсом.


"Открыт код Rootbeer, компилятора байткода Java в..."
Отправлено piteri , 14-Авг-12 10:53 
>> это куда ж она оттудва делась? Джеймс Гослинг в недоумении.
> вот именно: до сих пор в недоумении, как на этом его вы…
> высокотехнологичном продукте ещё и пишут что-то. а Алан Кей вообще на
> большинство современных так называемых «ооп-языков» смотрит как Свиборг. потому
> что основную концепцию ООП — посылку сообщений — они где-то потеряли.

А может всё таки не потеряли?

> только Objective C стоит с троллфэйсом.

Это не троллфейс - это врождённое уродство.


"Открыт код Rootbeer, компилятора байткода Java в..."
Отправлено piteri , 13-Авг-12 10:56 
Ну ладно, в этой ветке и так мало связанный сообщений. Но что такое кмк?

Гугуль:
КМК — аббревиатура, может расшифровываться как
Карманный мультимедийный компьютер
Кемеровский молочный комбинат
Киржачский машиностроительный колледж
Кировский медицинский колледж
Кировский молочный комбинат
Коломенский медицинский колледж
Костромской медицинский колледж
Кузнецкий металлургический комбинат
Культура многоваликовой керамики
Как мне кажется
+Красноярская мебельная компания


"Открыт код Rootbeer, компилятора байткода Java в..."
Отправлено Аноним , 13-Авг-12 11:41 
Как мне кажется.

"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Af. , 13-Авг-12 09:27 
> А что это за рефлекция такая?

У переводчика Хорстона - отражение. На лету получать и использовать имена переменных, функций, классов, их значения. Можно в пяток строк вызвать 250 функций, зная принцип построения имён (имея заранее список). И т.п.


"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Аноним , 13-Авг-12 09:51 
Получение данных о классах, полях, методах и т.д. на ходу и работа с ними.

Например, использование приватных полей:
SomeClass obj = new SomeClass();
try{
    Field f = obj.getClass().getDeclaredField("someValue");
    f.setAccessible(true);
    System.out.println(f.get(obj));//Тут будет 1.
    f.set(obj, 2);
    System.out.println(f.get(obj));// А тут уже 2.
}catch(Exception e){
    e.printStackTrace();
}
public class SomeClass{
    private int someValue;
    public SomeClass(){
        someValue = 1;
    }
}


"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено pavlinux , 13-Авг-12 03:31 
Ахтунг не арбайтен

$ ant

...

[javadoc] Standard Doclet version 1.6.0_29
  [javadoc] Building tree for all the packages and classes...
  [javadoc] /tmp/rootbeer1/src/edu/syr/pcpratts/rootbeer/generate/misc/BasicBlock.java:81: warning - @return tag has no arguments.
  [javadoc] /tmp/rootbeer1/src/edu/syr/pcpratts/rootbeer/generate/opencl/body/OpenCLBody.java:59: warning - @param argument "body" is not a parameter name.
  [javadoc] /tmp/rootbeer1/src/edu/syr/pcpratts/rootbeer/runtime/remap/Random.java:75: warning - Tag @link: reference not found: java.util.concurrent.ThreadLocalRandom
  [javadoc] /tmp/rootbeer1/src/edu/syr/pcpratts/jpp/typetable/Combinatorics.java:24: warning - @return tag has no arguments.
  [javadoc] /tmp/rootbeer1/src/edu/syr/pcpratts/rootbeer/generate/bytecode/FieldReadWriteInspector.java:78: warning - @return tag has no arguments.
  [javadoc] /tmp/rootbeer1/src/edu/syr/pcpratts/rootbeer/generate/bytecode/FieldReadWriteInspector.java:90: warning - @return tag has no arguments.
  [javadoc] Building index for all the packages and classes...
  [javadoc] Building index for all classes...
  [javadoc] Generating /tmp/rootbeer1/dist/javadoc/stylesheet.css...
  [javadoc] 6 warnings


$ ./pack-rootbeer
java.lang.NullPointerException
        at pack.Main.findJarFilesInDirectory(Main.java:85)
        at pack.Main.runOnDirectory(Main.java:79)
        at pack.Main.run(Main.java:31)
        at pack.Main.main(Main.java:18)


"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено pavlinux , 13-Авг-12 06:08 
Короча там косяк мелкий, собирать надо так

$ git clone git://github.com/pcpratts/rootbeer1.git
$ cd rootbeer1/
$ mkdir dist/lib
$ ant
$ ./pack-rootbeer

Пускать так:
$ java -jar ./Rootbeer.jar /some/where/some/Blob.jar SuperBlob.jar;



"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено hg user , 13-Авг-12 11:26 
git хранит только файлы, пустые директории никак? )

"Открыт код Rootbeer, компилятора байткода Java в..."
Отправлено arisu , 13-Авг-12 19:13 
> git хранит только файлы, пустые директории никак? )

нет. и не надо. пусть их система сборки создаст при необходимости, или софтина после запуска.


"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено анонимус , 14-Авг-12 13:42 
Поэтому прогрессивное человечество придумало файлики .keep

"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено hg user , 13-Авг-12 11:32 
Похоже они уже закоммитили исправление сборки, у меня сразу собралось. Монструозный конечно jar - на 13 мегабайт.

"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено hg user , 13-Авг-12 12:01 
Мало того, что Rootbeer.jar монструозный, так он еще после конвертации каждый jar проекта увеличивает на эти 13 мегабайт, в итоге проект на котором тестировал, разросся с 8 мегабайт до 170.

"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Аноним , 13-Авг-12 04:35 
Они знают толк в извращениях... особенно улыбнуло "наблюдалось замедление в 3.8 раза". Крутая у жабистов акселерация. Я так тоже что-нибудь акселерировать могу :)

"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено pavlinux , 13-Авг-12 05:14 
Через строку читаешь?

> Например, в тестах на умножения матриц высокой размерности и подбор элементов ряда Фурье,
> Rootbeer позволил ускорить выполнение программ в 67 раз и 58 раз,
> но в тесте наложения фильтра на изображение наблюдалось замедление в 3.8 раза.

Умножение матриц в 67, Фурье в 58 раз, а вот с наложением не проканало.


"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Аноним , 13-Авг-12 10:46 
очень смешно, особенно в свете того, что код выполняют разные устройства

"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено none_first , 13-Авг-12 13:35 
какой код - прочитайте внимательно
разный! код выполняют разные устройства ;)

"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Аноним , 13-Авг-12 15:10 
> какой код - прочитайте внимательно
> разный! код выполняют разные устройства ;)

ну так раз устройства разные - как можно вообще разы считать? и говорить об эффективности? гпу и цпу разные бывают...


"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено pavlinux , 13-Авг-12 15:28 
Трактор и Ферарри можно сравнивать?

"Открыт код Rootbeer, компилятора байткода Java в..."
Отправлено arisu , 13-Авг-12 19:11 
> Трактор и Ферарри можно сравнивать?

конечно: отстой эта ваша фераря, на поле сразу угрузла и ни бибип.


"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Аноним , 13-Авг-12 09:13 
alparapi вроде как подобным образом работает (прадва, больше в сторону ati уклон - хотя и nvidia должна отрабатывать в теории); цифры не приведу, но пробовал - неплохой результат

"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Аноним , 13-Авг-12 11:26 
Оракл еще спит? Или после многолетней тяжбы с  уже не хочется?

"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено pavlinux , 14-Авг-12 07:26 
Я SWT и Azureus конвертнул, теперь качаю торренты на GPU :D
А если витую пару распаять под DVI, и воткнуть в видюху, быстрее качать будет???

"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Аноним , 14-Авг-12 18:00 
> А если витую пару распаять под DVI, и воткнуть в видюху, быстрее качать будет???

Накаркал, бл: ethernet является куском нового стандарта HDMI. Ну то-есть линк HDMI до кучи умеет еще и эзернетом выступать. Ы? :)


"Открыт код Rootbeer, компилятора байткода Java в представлен..."
Отправлено Loooooker , 16-Авг-12 11:38 
Реквест на впиливание в Огнелис и Хромиум!