Использование Blitz++ в Windows
От: Shamrik  
Дата: 25.09.09 12:24
Оценка:
Добрый день.
Возникла необходимость использовать Blitz++ в Windows. Под *nix всё замечательно, configure — make и libblitz у нас в кармане Теперь потребовалось подключить в /трепетно/ Виндовс!
Для реализации этой идейки добыл Dev-Cpp, но как с его помощью запустить ./configure — не представляю. Есть у Blitz++ еще решение для VS, но под 2008-й оно не компилится
Отсюда вопрос: как скомпилить Blitz++ по Windows или где взять готовую либу под нее же( запрос "libblitz под winows" ничего путного не дал)?
Re: Использование Blitz++ в Windows
От: denisko http://sdeniskos.blogspot.com/
Дата: 25.09.09 12:27
Оценка: +1
Здравствуйте, Shamrik, Вы писали:

S>Добрый день.

S>Возникла необходимость использовать Blitz++ в Windows. Под *nix всё замечательно, configure — make и libblitz у нас в кармане Теперь потребовалось подключить в /трепетно/ Виндовс!
S>Для реализации этой идейки добыл Dev-Cpp, но как с его помощью запустить ./configure — не представляю. Есть у Blitz++ еще решение для VS, но под 2008-й оно не компилится
S>Отсюда вопрос: как скомпилить Blitz++ по Windows или где взять готовую либу под нее же( запрос "libblitz под winows" ничего путного не дал)?
1) Что в либе требует компиляции? Вроде там 90% всего и 100% нужно в хедерах
2) Cmake натравил на нее уже?
<Подпись удалена модератором>
Re[2]: Использование Blitz++ в Windows
От: Shamrik  
Дата: 25.09.09 13:07
Оценка:
Здравствуйте, denisko, Вы писали:

D>1) Что в либе требует компиляции? Вроде там 90% всего и 100% нужно в хедерах

D>2) Cmake натравил на нее уже?

Спасибо за ответ!
1) Пробовал скомпилить "как есть", сразу пошла ругань на ...blitz/apple/bzconfig.h: No such file or directory. В принципе, ожидаемо, ибо configure не запускался( я всё ещё не представляю, как )
2) Cmake ждет увидеть CMakeLists.txt, а оного нет в дистрибутиве. Или я что-то не так понял?

Re[3]: Использование Blitz++ в Windows
От: MasterZiv СССР  
Дата: 25.09.09 14:46
Оценка:
Shamrik wrote:

> 2) Cmake ждет увидеть CMakeLists.txt, а оного нет в дистрибутиве. Или я

> что-то не так понял?

Для тек, кто что-то не так понял : там есть magic GUI wizard.
Posted via RSDN NNTP Server 2.1 beta
Re: Использование Blitz++ в Windows
От: peterbes Россия  
Дата: 25.09.09 16:27
Оценка:
Здравствуйте, Shamrik, Вы писали:

S>Добрый день.

S>Возникла необходимость использовать Blitz++ в Windows. Под *nix всё замечательно, configure — make и libblitz у нас в кармане Теперь потребовалось подключить в /трепетно/ Виндовс!
S>Для реализации этой идейки добыл Dev-Cpp, но как с его помощью запустить ./configure — не представляю. Есть у Blitz++ еще решение для VS, но под 2008-й оно не компилится
S>Отсюда вопрос: как скомпилить Blitz++ по Windows или где взять готовую либу под нее же( запрос "libblitz под winows" ничего путного не дал)?

На VS 2005 у меня проходила компиляция полностью, с ворингами, но без ошибок
Re: Использование Blitz++ в Windows
От: minorlogic Украина  
Дата: 26.09.09 08:41
Оценка:
Лучшее что могу посоветовать это выкинуть Blitz и использовать boost::numeric::ublas.

Но если много кода уже есть под Blitz тогда все должно компилиться с хидеров. поправить ручками инклюды.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: Использование Blitz++ в Windows
От: Shamrik  
Дата: 26.09.09 18:54
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>Лучшее что могу посоветовать это выкинуть Blitz и использовать boost::numeric::ublas.

M>Но если много кода уже есть под Blitz тогда все должно компилиться с хидеров. поправить ручками инклюды.

Спасибо за ответ.
Нет, кода на Blitz пока нет, просто у него очень хорошая поддержка работы с N-мерными массивами, в частности, операция A(1,2,all,4) плюс неплохая шустрая арифметика. Спасибо за предложение, внимательнейшим образом выясню, что умеет boost. И надо будет сравнить быстродействие boost и Blitz в работе с матрицами.
Re[3]: Использование Blitz++ в Windows
От: minorlogic Украина  
Дата: 27.09.09 07:33
Оценка:
Здравствуйте, Shamrik, Вы писали:

S>Здравствуйте, minorlogic, Вы писали:


M>>Лучшее что могу посоветовать это выкинуть Blitz и использовать boost::numeric::ublas.

M>>Но если много кода уже есть под Blitz тогда все должно компилиться с хидеров. поправить ручками инклюды.

S>Спасибо за ответ.

S>Нет, кода на Blitz пока нет, просто у него очень хорошая поддержка работы с N-мерными массивами, в частности, операция A(1,2,all,4) плюс неплохая шустрая арифметика. Спасибо за предложение, внимательнейшим образом выясню, что умеет boost. И надо будет сравнить быстродействие boost и Blitz в работе с матрицами.

К сожалению бустовый не умеет работать с N-мерными массивами. НО по любому лучше поискать альтернативу Blitz.

быстродействие boost может быть выше Blitz на порядок в работе с матрицами.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[4]: Использование Blitz++ в Windows
От: uhh  
Дата: 27.09.09 07:42
Оценка:
M>К сожалению бустовый не умеет работать с N-мерными массивами. НО по любому лучше поискать альтернативу Blitz.

M>быстродействие boost может быть выше Blitz на порядок в работе с матрицами.


за счет чего буст будет быстрее? "потому что буст"?
Re[5]: Использование Blitz++ в Windows
От: minorlogic Украина  
Дата: 27.09.09 09:01
Оценка: -1
Здравствуйте, uhh, Вы писали:


M>>К сожалению бустовый не умеет работать с N-мерными массивами. НО по любому лучше поискать альтернативу Blitz.


M>>быстродействие boost может быть выше Blitz на порядок в работе с матрицами.


uhh>за счет чего буст будет быстрее? "потому что буст"?


Быстрее потому что грамотнее дизайн и реализация.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re: Использование Blitz++ в Windows
От: wander  
Дата: 27.09.09 10:06
Оценка: 2 (1)
Здравствуйте, Shamrik, Вы писали:

S>Для реализации этой идейки добыл Dev-Cpp, но как с его помощью запустить ./configure — не представляю. Есть у Blitz++ еще решение для VS, но под 2008-й оно не компилится


Поставь MSYS. Как настроить — здесь.
Re: Использование Blitz++ в Windows
От: Shamrik  
Дата: 28.09.09 09:16
Оценка:
Большое спасибо всем за ответы и советы!
    Компиляция под MSYS и CygWin проходит нормально, примеры компилятся и запускаются. Полное ощущение, что работает в нормальном Линуксе
    Компиляция под VS — исключительно мой косяк: архив Blitz-VS.NET.zip был развернут не в папку Blitz, из-за чего (как это ни парадоксально ) не находились исходники. После нормального экстракта всё компилится — линкуется — дебажится (после правки св-в проекта) под VS.
Т.о. свою проблемку я решил, но остался один вопрос: быстродействие Blitz и Boost. Например, ежели кто переведет такой код из Blitz (из примеров array.cpp, код ниже) в boost, был бы простенький тестик .

/*****************************************************************************
 * array.cpp        Blitz++ Array stencilling example
 *****************************************************************************/

#include <blitz/array.h>   

BZ_USING_NAMESPACE(blitz)

int main()
{
    int N = 64;

    // Create three-dimensional arrays of float
    Array<float,3> A(N,N,N), B(N,N,N);

    // Set up initial conditions: +30 C over an interior block,
    // and +22 C elsewhere
    A = 22.0;

    Range interior(N/4,3*N/4);
    A(interior,interior,interior) = 30.0;

    int numIters = 301;

    Range I(1,N-2), J(1,N-2), K(1,N-2);

#ifdef BZ_HAVE_STD
#ifdef BZ_ARRAY_SPACE_FILLING_TRAVERSAL
    generateFastTraversalOrder(TinyVector<int,2>(N-2,N-2));
#endif
#endif

    for (int i=0; i < numIters; ++i)
    {
        double c = 1/6.5;
 
        B(I,J,K) = c * (.5 * A(I,J,K) + A(I+1,J,K) + A(I-1,J,K)
            + A(I,J+1,K) + A(I,J-1,K) + A(I,J,K+1) + A(I,J,K-1));

        A(I,J,K) = c * (.5 * B(I,J,K) + B(I+1,J,K) + B(I-1,J,K)
            + B(I,J+1,K) + B(I,J-1,K) + B(I,J,K+1) + B(I,J,K-1));

        // Output the result along a line through the centre
        for (int j=0; j < 8; ++j)
            cout << setprecision(2) << A(N/2,N/2,j*N/8) << " ";

        cout << endl;
        cout.flush();
    }

    return 0;
}
Re[6]: Использование Blitz++ в Windows
От: uhh  
Дата: 28.09.09 14:14
Оценка: -1
Здравствуйте, minorlogic, Вы писали:

M>Быстрее потому что грамотнее дизайн и реализация.


ну, прогнозируемый ответ. буст в наше время заменяет многим религию.
hint: Blitz++ весьма хорошо оптимизирована внутри.
Re[7]: Использование Blitz++ в Windows
От: minorlogic Украина  
Дата: 28.09.09 14:37
Оценка:
Здравствуйте, uhh, Вы писали:

uhh>Здравствуйте, minorlogic, Вы писали:


M>>Быстрее потому что грамотнее дизайн и реализация.


uhh>ну, прогнозируемый ответ. буст в наше время заменяет многим религию.


Вам заменяет религию? Это технический форум, подразумевает технические аргументы.

uhh>hint: Blitz++ весьма хорошо оптимизирована внутри.


Какой хинт? Вы бенчмарки корректные делали?

Какая оптимизация изнутри? Оптимизации нет в ublas?
blitz::Array изначально работает черер сплайся на уровне реализации , он теоретически не может быть быстрее плоских реализаций ublas.

У меня сладывается впечатление что вы имеете смутное представление о предмете разговора.
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: Использование Blitz++ в Windows
От: dandy  
Дата: 30.09.09 04:11
Оценка:
Здравствуйте, Shamrik, Вы писали:

S>Т.о. свою проблемку я решил, но остался один вопрос: быстродействие Blitz и Boost.


Где — то видел бенчмарки по блицу, бусту и прочем мат. библиотекам для C++, по ним блиц показывал наихудшую производительность. Находил гуглом, может тебе тоже стоит попробовать погуглить?
Re[3]: Использование Blitz++ в Windows
От: denisko http://sdeniskos.blogspot.com/
Дата: 30.09.09 09:11
Оценка: 2 (1)
Здравствуйте, dandy, Вы писали:

D>Здравствуйте, Shamrik, Вы писали:


S>>Т.о. свою проблемку я решил, но остался один вопрос: быстродействие Blitz и Boost.


D>Где — то видел бенчмарки по блицу, бусту и прочем мат. библиотекам для C++, по ним блиц показывал наихудшую производительность. Находил гуглом, может тебе тоже стоит попробовать погуглить?

Вот оно -- http://eigen.tuxfamily.org/index.php?title=Benchmark-August2008, но там херь. По многим позициям блитц не тестировался, хотя их реализация есть. Прелесть блитца в том, что он весьма органично сочетается с лапаком и мклем. Т.е. блитцовые структуры используются только как контейнеры + я еще активно юзаю Tiny семейство. В убласе ковырялсо давно, многих вещей там просто нет -- типа нахождения СВ\СЧ не через LU разложение и.т.д.
<Подпись удалена модератором>
Re[4]: Использование Blitz++ в Windows
От: minorlogic Украина  
Дата: 30.09.09 09:59
Оценка:
Здравствуйте, denisko, Вы писали:

D>Вот оно -- http://eigen.tuxfamily.org/index.php?title=Benchmark-August2008,


Боюсь что при перекомпиляции под IntelCC результаты сильно изменяться.
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[5]: Использование Blitz++ в Windows
От: denisko http://sdeniskos.blogspot.com/
Дата: 30.09.09 10:09
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>Здравствуйте, denisko, Вы писали:


D>>Вот оно -- http://eigen.tuxfamily.org/index.php?title=Benchmark-August2008,


M>Боюсь что при перекомпиляции под IntelCC результаты сильно изменяться.

Хз, это уже гипотеза или фобия. В мкле многие вещи руками написаны под соответствующие SIMDы, IntelCC сам векторизует довольно хреново (информация полугодовой давности).
<Подпись удалена модератором>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.