2013/08/30

Discontinuous Galerkin

Discontinuous Galerkinなる方法があることを最近知った。

どうやら、有限体積と有限要素を組み合わせたような離散化らしい。fluidity-4.10.1にはもう実装されている。これを元にFlux reconstructionなどのスキームが現在開発中らしい。

現在、旬を過ぎたとか思っていた、有限体積の非構造実装とか勉強中。

 自分の引き出しが少ない。

2013/08/22

Praviewのコンパイル Paraview-3.8.1 MPI並列


paraview-3.8.1をビルドした時のメモ

root権限のないsuse enterprise上で作成した。Qtを作成するときにGLIBCXXのバージョンが足りずにエラーを履いたのでgcc-4.8.0を作成した。ffmpegをリンクしなかったので動画作成できない、画像はでる。core2世代のマシンに最定期化してある。それ以外のマシンでは動かない可能性があるので、コピペするときには注意すること。


まずgcc-4.8.0を作った。

gmp-5.0.5, mpfr-3.1.1とmpc-1.0.1をコンパイルしgcc-4.8.0をコンパイルする。

1. Build Gcc

---------------------------------------------------------------------------------------------------
    gmp-5.0.5
---------------------------------------------------------------------------------------------------
#!/bin/sh

PKG=gmp-5.0.5

MACHINE=core2

CONFIG_PATH=../../0.src/${PKG}/configure
MACHINE_OPT="-mtune=${MACHINE} -march=${MACHINE}"
FLAGS="-s -Os "
PREFIX=--prefix=/work/paraview-build
HOST=--host=x86_64-suse-linux-gnu
BUILD=--build=x86_64-suse-linux-gnu
TARGET=--target=x86_64-suse-linux-gnu

echo    "
        ${CONFIG_PATH}    \
        ${PREFIX} \
        CFLAGS=' ${FLAGS} ${MACHINE_OPT} ' \
        CPPFLAGS=' ${FLAGS} ${MACHINE_OPT} ' \
        ${HOST} ${BUILD} ${TARGET}
    " > runconfig.sh

sh ./runconfig.sh >& myconfig.log
make -j 8 >& mymake.log
make check >&  mycheck.log
make install >& myinstall.log

---------------------------------------------------------------------------------------------------
    mpfr-3.1.1
---------------------------------------------------------------------------------------------------
#!/bin/sh

PKG=mpfr-3.1.1

MACHINE=core2

CONFIG_PATH=../../0.src/${PKG}/configure
MACHINE_OPT="-mtune=${MACHINE} -march=${MACHINE}"
FLAGS="-s -Os "
PREFIX=--prefix=/work/paraview-build
HOST=--host=x86_64-suse-linux-gnu
BUILD=--build=x86_64-suse-linux-gnu
TARGET=--target=x86_64-suse-linux-gnu

echo    "
        ${CONFIG_PATH}    \
        CFLAGS=' ${FLAGS} ${MACHINE_OPT} ' \
        CPPFLAGS=' ${FLAGS} ${MACHINE_OPT} ' \
        ${HOST} ${BUILD} ${TARGET} \
        ${PREFIX} \
        --with-gmp=/work/paraview-build
    " > runconfig.sh

sh ./runconfig.sh >& myconfig.log
make -j 8 >& mymake.log
make check >&  mycheck.log
make install >& myinstall.log

---------------------------------------------------------------------------------------------------
    mpc-1.0.1
---------------------------------------------------------------------------------------------------
#!/bin/sh

PKG=mpc-1.0.1

MACHINE=core2

CONFIG_PATH=../../0.src/${PKG}/configure
MACHINE_OPT="-mtune=${MACHINE} -march=${MACHINE}"
FLAGS="-s -Os "
PREFIX=--prefix=/work/paraview-build
HOST=--host=x86_64-suse-linux-gnu
BUILD=--build=x86_64-suse-linux-gnu
TARGET=--target=x86_64-suse-linux-gnu

echo    "
        ${CONFIG_PATH}    \
        CFLAGS=' ${FLAGS} ${MACHINE_OPT} ' \
        CPPFLAGS=' ${FLAGS} ${MACHINE_OPT} ' \
        ${HOST} ${BUILD} ${TARGET} \
        ${PREFIX} \
        --with-gmp=/work/paraview-build
        --with-mpfr=/work/paraview-build
    " > runconfig.sh

sh ./runconfig.sh >& myconfig.log
make -j 8 >& mymake.log
make check >&  mycheck.log
make install >& myinstall.log

---------------------------------------------------------------------------------------------------
    gcc-4.8.0
---------------------------------------------------------------------------------------------------
#!/bin/sh

PKG=gcc-4.8.0

MACHINE=core2

CONFIG_PATH=../../0.src/${PKG}/configure
MACHINE_OPT="-mtune=${MACHINE} -march=${MACHINE}"
FLAGS="-s -Os "
PREFIX=--prefix=/work/paraview-build
HOST=--host=x86_64-suse-linux-gnu
BUILD=--build=x86_64-suse-linux-gnu
TARGET=--target=x86_64-suse-linux-gnu

echo    "
        ${CONFIG_PATH}    \
        CFLAGS=' ${FLAGS} ${MACHINE_OPT} ' \
        CPPFLAGS=' ${FLAGS} ${MACHINE_OPT} ' \
        ${HOST} ${BUILD} ${TARGET} \
        ${PREFIX} \
        --with-gmp=/work/paraview-build
        --with-mpfr=/work/paraview-build
        --with-mpc=/work/paraview-build
    " > runconfig.sh

sh ./runconfig.sh >& myconfig.log
make -j 8 >& mymake.log
#make check >&  mycheck.log
make install >& myinstall.log
---------------------------------------------------------------------------------------------------



2. Build paraview


次にparaviewのビルドを行う。vtk-5.10.1とqt-4.6を作成しparaview-3.8.1をコンパイルする。

qt-4.6をvtk-5.10.1の作成前に作る必要がある。

cmake-2.8.1, tcl-8.2.0, tk-8.2.0 はvtk-5.10.1のコンパイルに必要だった。systemにインストールされているのならば、作る必要はない。

paraviewの動画作成を有効にする場合は、ffmpegもvtkをビルドするときにリンクする必要がある(未確認)


---------------------------------------------------------------------------------------------------
    cmake-2.8.1
---------------------------------------------------------------------------------------------------
#!/bin/sh

PKG=cmake-2.8.10.2

MACHINE=core2

CONFIG_PATH=../../0.src/${PKG}/configure
MACHINE_OPT="-mtune=${MACHINE} -march=${MACHINE}"
FLAGS="-s -Os "
PREFIX=--prefix=/work/paraview-build
HOST=--host=x86_64-suse-linux-gnu
BUILD=--build=x86_64-suse-linux-gnu
TARGET=--target=x86_64-suse-linux-gnu

echo    "
        ${CONFIG_PATH}    \
        ${PREFIX}
    " > runconfig.sh

sh ./runconfig.sh >& myconfig.log
make -j 8 >& mymake.log
make check >&  mycheck.log
make install >& myinstall.log

---------------------------------------------------------------------------------------------------
    openmpi-1.6.2
---------------------------------------------------------------------------------------------------
#!/bin/sh

PKG=openmpi-1.6.2

MACHINE=core2

CONFIG_PATH=../../0.src/${PKG}/configure
MACHINE_OPT="-mtune=${MACHINE} -march=${MACHINE}"
FLAGS="-s -Os "
PREFIX=--prefix=/work/paraview-build
HOST=--host=x86_64-suse-linux-gnu
BUILD=--build=x86_64-suse-linux-gnu
TARGET=--target=x86_64-suse-linux-gnu

echo    "
        ${CONFIG_PATH}    \
        ${PREFIX} \
        CFLAGS=' ${FLAGS} ${MACHINE_OPT} ' \
        CPPFLAGS=' ${FLAGS} ${MACHINE_OPT} ' \
        ${HOST} ${BUILD}
    " > runconfig.sh

sh ./runconfig.sh >& myconfig.log
make -j 8 >& mymake.log
make check >&  mycheck.log
make install >& myinstall.log

---------------------------------------------------------------------------------------------------
    tcl-8.2.0
---------------------------------------------------------------------------------------------------
#!/bin/sh

PKG=tcl8.6.0/unix
MACHINE=core2

CONFIG_PATH=../../0.src/${PKG}/configure
MACHINE_OPT="-mtune=${MACHINE} -march=${MACHINE}"
FLAGS="-s -Os "
PREFIX=--prefix=/work/paraview-build
HOST=--host=x86_64-suse-linux-gnu
BUILD=--build=x86_64-suse-linux-gnu
TARGET=--target=x86_64-suse-linux-gnu

echo    "
        ${CONFIG_PATH}    \
        ${PREFIX} \
        CFLAGS=' ${FLAGS} ${MACHINE_OPT} ' \
        CPPFLAGS=' ${FLAGS} ${MACHINE_OPT} ' \
        ${HOST} ${BUILD} ${TARGET}
    " > runconfig.sh

sh ./runconfig.sh >& myconfig.log
make -j 8 >& mymake.log
make check >&  mycheck.log
make install >& myinstall.log

---------------------------------------------------------------------------------------------------
    tk-8.2.0
---------------------------------------------------------------------------------------------------
#!/bin/sh

PKG=tk8.6.0/unix
MACHINE=core2

CONFIG_PATH=../../0.src/${PKG}/configure
MACHINE_OPT="-mtune=${MACHINE} -march=${MACHINE}"
FLAGS="-s -Os "
PREFIX=--prefix=/work/paraview-build
HOST=--host=x86_64-suse-linux-gnu
BUILD=--build=x86_64-suse-linux-gnu
TARGET=--target=x86_64-suse-linux-gnu

echo    "
        ${CONFIG_PATH}    \
        ${PREFIX} \
        CFLAGS=' ${FLAGS} ${MACHINE_OPT} ' \
        CPPFLAGS=' ${FLAGS} ${MACHINE_OPT} ' \
        ${HOST} ${BUILD} ${TARGET}
    " > runconfig.sh

sh ./runconfig.sh >& myconfig.log
make -j 8 >& mymake.log
make check >&  mycheck.log
make install >& myinstall.log

---------------------------------------------------------------------------------------------------
    qt-4.6.0
---------------------------------------------------------------------------------------------------
../../0.src/qt-everywhere-opensource-src-4.6.0/configure \
    -prefix /work/paraview-build \
    -release \
    -opensource \
    -largefile \
    -optimized-qmake
---------------------------------------------------------------------------------------------------

CAUTION: QtWebKit may fails in paraview build

    vtk-5.10.1

ccmake & cmake, MPI and python warper enabled

CAUTION: qt 5.X is not supported yet. Try vtk-6.x may work.

    paraview-3.8.1

ccmake & cmake, MPI and python (numPy required) enabled

2013/08/07

新しいスーパコンピュータのOSを日米で開発


ネタが古いが中の人の話を昔聞いたので書いてみようと思う。
 ネタとしては28/June/2013だったか。

京を作るときにOSで結構Fujitsuが苦労したらしい。ファイルシステムにはlusterが使われているが、これが制作者が使用を仮定した最大のサイズを京クラスになると超えるらしい。

そのため、バグがかなり出たそうな。この辺が原因じゃないかと思う。


http://linux.slashdot.jp/story/13/06/27/0619227/%CE%A3%E3%80%81TRON%E5%86%8D%E3%81%B3%EF%BC%9F-%E3%82%B9%E3%83%91%E3%82%B3%E3%83%B3%E9%96%8B%E7%99%BA%E3%81%A7%E6%97%A5%E7%B1%B3%E3%81%8C%E5%8D%94%E5%8A%9B%E3%80%81%E6%96%B0OS%E3%81%AE%E4%BD%9C%E6%88%90%E3%81%B8

まとめページ

      

リンク

The Wizard of Science
友達のブログ文化人類学とか難しい話をしております。あとホームページから自作ゲームも配布。