OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 16 Апрель, 2024 16:04

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 193 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10
Автор Сообщение
СообщениеДобавлено: Суббота, 14 Июнь, 2008 19:02 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Борис Рюмшин писал(а):
QWERTYProgrammer писал(а):
Может быть было бы возможно портировать его на платформу Блэкбокс??

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 14 Июнь, 2008 21:04 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
GUEST писал(а):
... а будет ли от векторных операций ускорение для обычных задач - большой вопрос.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 14 Июнь, 2008 22:28 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
GUEST писал(а):
Борис Рюмшин писал(а):
QWERTYProgrammer писал(а):
Может быть было бы возможно портировать его на платформу Блэкбокс??

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

Товарищи, либо вы невнимательно читаете, либо я прочёл несколько иное. Речь шла о портировании нового кодогенератора из AOS...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 15 Июнь, 2008 10:04 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Борис Рюмшин писал(а):
Товарищи, либо вы невнимательно читаете, либо я прочёл несколько иное. Речь шла о портировании нового кодогенератора из AOS...
Борис, Вашего недоумения не разделяю. Немного ранее речь шла о новых возможностях кодогенератора из AOS тоже:
QWERTYProgrammer писал(а):
Поскольку существует проект High-Performance Computing for Oberon, с целью использовать SIMD-инструкции, MultiCores и кластеры в Active Oberon на WinAOS, то наверное там используется более современный кодогенератор, чем в Блэкбоксе.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 15 Июнь, 2008 13:52 

Зарегистрирован: Среда, 04 Июль, 2007 16:43
Сообщения: 247
Вообще-то я имел в виду, что кодогенератор в ББ не поддерживает CPU-инструкции для процессоров после 486-го, в то время как кодогенератор в Aos должен как минимум поддерживать P6. И обновление кодогенератора должно бы привести к ускорению FPU-вычислений.

Что касается векторных инструкций в Active Oberon на языковом уровне, то это, конечно, отдельная тема.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 15 Июнь, 2008 14:07 

Зарегистрирован: Среда, 04 Июль, 2007 16:43
Сообщения: 247
Info21 писал(а):
GUEST писал(а):
... а будет ли от векторных операций ускорение для обычных задач - большой вопрос.

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


И на каком языке должны быть написаны эти библиотеки?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 15 Июнь, 2008 18:38 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
QWERTYProgrammer писал(а):
Вообще-то я имел в виду, что кодогенератор в ББ не поддерживает CPU-инструкции для процессоров после 486-го, в то время как кодогенератор в Aos должен как минимум поддерживать P6. И обновление кодогенератора должно бы привести к ускорению FPU-вычислений.

Поддержка каких инструкций более поздних CPU необходима? Пентиумовских CPUID, RDTSC и CMPXCHG8B :) Или CMOV* для Pentium-II ? Думаете они ускорят работу блэкбоксовских программ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 18 Июнь, 2008 16:36 

Зарегистрирован: Среда, 12 Декабрь, 2007 19:41
Сообщения: 21
Разумеется ускорят, хотя и не сильно.
Например тут можно почитать что некоторые инструкции неоправданно тормозны на сегодняшних архитектурах:
http://www.agner.org/optimize/
Причем эти инструкции частенько используются распространенными компиляторами типа Delphi (сравнение флоата и целого насколько помню), а кое-где и даже вполне свежими MSVC.

Что касается векторных вычислений (SIMD), то тут можно подумать о чем-то навроде интринсиков.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 01 Июль, 2008 22:56 

Зарегистрирован: Среда, 04 Июль, 2007 16:43
Сообщения: 247
QWERTYProgrammer писал(а):
Илья Ермаков писал(а):
QWERTYProgrammer писал(а):
Область применения VBA, в примитивном варианте, или C++ dll, в продвинутом варианте, для численных расчетов с Excel интерфейсом могла бы быть естественным полем оптимизированного BlackBox-а.

Ужос какой... А зачем так? Уж для научных интерфейсов ББ вроде отлично подходит, куда тут Ёкселям?
Или речь просто о написании доп. функций к электронной таблице?


Речь идет, конечно, не о научных вычислениях. В бизнес приложениях интенсивные численные расчеты, естественно, тоже используются. При этом как исходные данные, так и результаты представляются в виде Эксель файлов. Сами вычисления могут выполняться как угодно, например с помощью внешних dll/xll библиотек. Создание составного документа в среде Блэкбокса с экселевскими таблицами и вычислительным ядром представляется задачей идеально предназначеной для ББ. Так как подобные расчеты выполняются в том числе интерактивно много раз в день, вопрос о том будет ли расчет выполнен за 5 мин. или за 15 играет существенную роль. Отсюда вопросы про оптимизацию.


Вот кстати еще ссылка на книгу, где как раз описывается достаточно типичный и распространенный способ решения научных и инженерных задач средствами Excel, VBA и C/C++.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 13 Июль, 2008 15:36 
Аватара пользователя

Зарегистрирован: Суббота, 19 Ноябрь, 2005 15:59
Сообщения: 803
Откуда: Зеленоград
Иван Горячев писал(а):
AVC писал(а):
Возвращаясь к теме компилятора для оберонов (О1/О2/КП/О07), из которой я выпал на некоторое время из-за обстоятельств.
Имеет ли смысл учитывать тенденции в "Джеймсе Бонде" (O-07 :) )?
Являются они улучшением или ухудшением языка?


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

Я (пока для себя :) ) этот вопрос прорабатываю.
(К сожалению, в силу жизненных обстоятельств, с довольно большими перерывами. :( )
Основная проблема для меня не в том, как делать компилятор, а в том, каким он должен быть. Отсюда и вопросы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 12 Июль, 2009 12:29 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Обсуждение разработки IDE выделено в отдельную тему: viewtopic.php?f=30&t=1709


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 25 Сентябрь, 2010 17:11 

Зарегистрирован: Среда, 04 Июль, 2007 16:43
Сообщения: 247
Возвращаясь к старой теме: есть также субсистема ofront, представляющая собой Oberon2-to-C транслятор, работающую под линуксом или под Windows/BlackBox. C-код, правда, генерится для unix (linux) платформ, но наверняка после минимальной доработки мог бы также генериться и для cygwin.
Транслируемый код при этом должен быть написан именно на Oberon-2, компонентный паскаль в выложенной на сайте http://www.software-templ.com версии не поддерживается. Если ofront доработать до транслятора Component Paskal-to-C, то хотя транслятор, конечно же, не так удобен, как родной компилятор, но при необходимости встраивать в не-обероновские библиотеки неграфических модулей, разрабатываемых на BB, такой путь также мог бы представлять определенный интерес: разработанные в BB компоненты транслировались бы в нативный код для целевой платформы с помощью ofront и любимого оптимизириющего C-компилятора для этой платформы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 27 Сентябрь, 2010 14:04 

Зарегистрирован: Понедельник, 05 Июнь, 2006 09:49
Сообщения: 327
Откуда: Ленинград, Емельянов Алексей Николаевич
Если я правильно помню, в BlackBox можно включить опцию, чтобы компилировалось в Оберон-2.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 193 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB