{"id":3494,"date":"2020-03-25T21:02:30","date_gmt":"2020-03-25T12:02:30","guid":{"rendered":"https:\/\/na-inet.jp\/weblog2\/?p=3494"},"modified":"2020-03-25T21:07:02","modified_gmt":"2020-03-25T12:07:02","slug":"lapack-3-9-0%e3%82%92gcc%e3%81%a7%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab","status":"publish","type":"post","link":"https:\/\/na-inet.jp\/weblog2\/2020\/03\/25\/lapack-3-9-0%e3%82%92gcc%e3%81%a7%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab\/","title":{"rendered":"LAPACK 3.9.0\u3092GCC\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u3000\u6c17\u304c\u4ed8\u3044\u305f\u3089<a rel=\"noreferrer noopener\" href=\"https:\/\/na-inet.jp\/weblog2\/2015\/11\/17\/%e9%80%b2%e6%8d%97%e5%a0%b1%e5%91%8a-lapack-3-6-0-released-and-how-to-install\/\" target=\"_blank\">LAPACK 3.6.0\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u65b9\u6cd5<\/a>\u3092\u66f8\u3044\u3066\u304b\u3089\u5927\u5206\u7d4c\u3063\u3066\u305f\u306e\u3067\uff0cUbuntu\u74b0\u5883\u306bTAR ball\u304b\u3089\u30a4\u30f3\u30b9\u30c8\u2015\u3059\u308b\u65b9\u6cd5\u3092\u30e1\u30e2\u66f8\u304d\u3057\u3066\u304a\u304f\u3002\u524d\u63d0\u3068\u3057\u3066<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>GCC (gcc, gfortran)\u304c\u4f7f\u3048\u308b<\/li><li>make (GNU make)\u304c\u4f7f\u3048\u308b<\/li><li>\/usr\/local\/lib\u306b\u30e9\u30a4\u30d6\u30e9\u30ea\u30d5\u30a1\u30a4\u30eb(*.a)\u3092\uff0c\/usr\/local\/include\u306b\u30a4\u30f3\u30af\u30eb\u30fc\u30c9\u30d5\u30a1\u30a4\u30eb(*.h)\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u304d\u308b\u6a29\u9650(sudo)\u304c\u3042\u308b<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u3092\u4eee\u5b9a\u3057\u3066\u3044\u308b\u3002 $ <strong>\u592a\u5b57<\/strong>\u304c\u30b3\u30de\u30f3\u30c9\u3067\u3042\u308b\u3002\u3064\u3044\u3067\u306b\u62d9\u8457\u300c<a rel=\"noreferrer noopener\" href=\"https:\/\/www.morikita.co.jp\/books\/book\/2226\" target=\"_blank\">LAPACK\/BLAS\u5165\u9580<\/a>\u300d\u306e\u30b5\u30f3\u30d7\u30eb\u30d7\u30ed\u30b0\u30e9\u30e0\u5b9f\u884c\u65b9\u6cd5\u3082\u66f8\u3044\u3066\u304a\u3044\u305f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. LAPACK 3.9.0\u306eTAR ball(v3.9.0.tar.gz)\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">$ <strong>wget https:\/\/github.com\/Reference-LAPACK\/lapack\/archive\/v3.9.0.tar.gz<\/strong><br>&#8211;2020-03-25 18:38:15&#8211; https:\/\/github.com\/Reference-LAPACK\/lapack\/archive\/v3.9.0.tar.gz<br>Resolving github.com\u2026 52.192.72.89<br>Connecting to github.com|52.192.72.89|:443\u2026 connected.<br>HTTP request sent, awaiting response\u2026 302 Found<br>Location: https:\/\/codeload.github.com\/Reference-LAPACK\/lapack\/tar.gz\/v3.9.0 [following]<br>&#8211;2020-03-25 18:38:16&#8211; https:\/\/codeload.github.com\/Reference-LAPACK\/lapack\/tar.gz\/v3.9.0<br>Resolving codeload.github.com\u2026 52.193.111.178<br>Connecting to codeload.github.com|52.193.111.178|:443\u2026 connected.<br>HTTP request sent, awaiting response\u2026 200 OK<br>Length: unspecified [application\/x-gzip]<br>Saving to: \u201cv3.9.0.tar.gz\u201d<br>[ &lt;=&gt; ] 7,534,567 4.84M\/s in 1.5s<br>2020-03-25 18:38:18 (4.84 MB\/s) &#8211; \u201cv3.9.0.tar.gz\u201d saved [7534567]<br>$<strong> ls -l v3.9.0.tar.gz<\/strong><br>-rw-rw-r&#8211; 1 tkouya tkouya 7534567 Mar 25 18:38 v3.9.0.tar.gz<br>$ tar zxvf v3.9.0.tar.gz<br>lapack-3.9.0\/<br>lapack-3.9.0\/.appveyor.yml<br>(\u7565)<br>lapack-3.9.0\/meson.build<br>lapack-3.9.0\/meson_options.txt<br>$<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\"><div class=\"wp-block-group__inner-container\"><\/div><\/div>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. &#8220;lapack-3.9.0&#8243;\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u79fb\u52d5\u3057\u3066Makefile\u7528\u306einclude\u30d5\u30a1\u30a4\u30eb(make.inc)\u3092gfortran\u7528\u306b\u8a2d\u5b9a<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">$<strong> cd lapack-3.9.0<\/strong><br>$<strong> ls<\/strong><br>BLAS CTestCustom.cmake.in lapack.pc.in meson.build<br>CBLAS DOCS lapack_testing.py meson_options.txt<br>CMAKE INSTALL LICENSE README.md<br>CMakeLists.txt lapack_build.cmake Makefile SRC<br>CTestConfig.cmake LAPACKE make.inc.example TESTING<br>$<strong> ls -l INSTALL<\/strong><br>total 228<br>-rw-rw-r&#8211; 1 tkouya tkouya 483 Nov 21 16:57 CMakeLists.txt<br>-rw-rw-r&#8211; 1 tkouya tkouya 5355 Nov 21 16:57 dlamch.f<br>\uff08\u7565)<br>-rw-rw-r&#8211; 1 tkouya tkouya 2140 Nov 21 16:57 slamchtst.f<br>-rw-rw-r&#8211; 1 tkouya tkouya 21748 Nov 21 16:57 tstiee.f<br>$ <strong>cp INSTALL\/make.inc.gfortran .\/make.inc<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. Reference BLAS\u3092\u751f\u6210<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">$ <strong>cd BLAS<\/strong><br>$ <strong>ls<\/strong><br>blas.pc.in CMakeLists.txt Makefile SRC TESTING<br>$ <strong>make<\/strong><br>make -C SRC<br>(\u7565)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>4. CBLAS\u3092\u751f\u6210<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">$ <strong>cd ..\/<\/strong><br>$ <strong>cd CBLAS<\/strong><br>$ <strong>ls<\/strong><br>cblas.pc.in CMakeLists.txt include README testing<br>cmake examples Makefile src<br>$ <strong>make<\/strong><br>cp include\/cblas_mangling_with_flags.h.in include\/cblas_mangling.h<br>make -C src<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>5. librefblas.a, libcblas.a\u304c\u751f\u6210\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">$ <strong>cd ..\/<\/strong><br>$ <strong>ls -l<\/strong><br>-rw-rw-r&#8211; 1 tkouya tkouya 384424 Mar 25 18:44 libcblas.a &lt;&#8211; cblas<br>-rw-rw-r&#8211; 1 tkouya tkouya 618312 Mar 25 18:43 librefblas.a &lt;&#8211; reference BLAS<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>6. LAPACK\u3092\u751f\u6210<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">$ <strong>make<\/strong><br>make -C INSTALL run<br>make[1]: Entering directory `\/home\/tkouya\/pool\/lapack\/lapack-3.9.0\/INSTALL&#8217;<br>gfortran -O2 -frecursive -c -o lsame.o lsame.f<br>\uff08\u7565)<br>&#8211;&gt; LAPACK TESTING SUMMARY &lt;&#8211;<br>Processing LAPACK Testing output found in the TESTING directory<br>SUMMARY nb test run numerical error other error<br>================ =========== ================= ================<br>REAL 1308195 0 (0.000%) 0 (0.000%)<br>DOUBLE PRECISION 1309007 0 (0.000%) 0 (0.000%)<br>COMPLEX 760590 1 (0.000%) 0 (0.000%)<br>COMPLEX16 768086 1 (0.000%) 1 (0.000%)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211;&gt; ALL PRECISIONS 4145878 2 (0.000%) 1 (0.000%)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>7. LAPACKE\u3092\u751f\u6210<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">$ <strong>cd LAPACKE<\/strong><br>$ <strong>make<\/strong><br>(\u7565)<br>make[1]: Leaving directory `\/home\/tkouya\/pool\/lapack\/lapack-3.9.0\/LAPACKE\/utils&#8217;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>8. \u30d5\u30a1\u30a4\u30eb\u78ba\u8a8d<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">$<strong> cd ..\/<\/strong><br>$ <strong>ls -l<\/strong><br>-rw-rw-r&#8211; 1 tkouya tkouya 384424 Mar 25 18:44 libcblas.a<br>-rw-rw-r&#8211; 1 tkouya tkouya 12336044 Mar 25 18:51 liblapack.a<br>-rw-rw-r&#8211; 1 tkouya tkouya 6898692 Mar 25 19:11 liblapacke.a<br>-rw-rw-r&#8211; 1 tkouya tkouya 618312 Mar 25 18:43 librefblas.a<br>-rw-rw-r&#8211; 1 tkouya tkouya 630092 Mar 25 18:51 libtmglib.a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>9.  \/usr\/local\/lib\u306b\u30e9\u30a4\u30d6\u30e9\u30ea(*.a)\u30d5\u30a1\u30a4\u30eb\u3092\uff0c\/usr\/local\/include\u306b\u30d8\u30c3\u30c0\u30d5\u30a1\u30a4\u30eb(*.h)\u3092\u30b3\u30d4\u30fc<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">$ <strong>sudo cp *.a \/usr\/local\/lib<\/strong><br>$ <strong>sudo cp CBLAS\/include\/*.h \/usr\/local\/include<\/strong><br>$ <strong>sudo cp LAPACKE\/include\/*.h \/usr\/local\/include<\/strong><br>$ <strong>ls -l \/usr\/local\/lib<\/strong><br>-rw-r&#8211;r&#8211; 1 root root 384424 Mar 25 19:15 libcblas.a<br>-rw-r&#8211;r&#8211; 1 root root 12336044 Mar 25 19:15 liblapack.a<br>-rw-r&#8211;r&#8211; 1 root root 6898692 Mar 25 19:15 liblapacke.a<br>-rw-r&#8211;r&#8211; 1 root root 618312 Mar 25 19:15 librefblas.a<br>-rw-r&#8211;r&#8211; 1 root root 630092 Mar 25 19:15 libtmglib.a<br>$<strong> ls -l \/usr\/local\/include<\/strong><br>-rw-r&#8211;r&#8211; 1 root root 21243 Mar 25 20:42 cblas_f77.h<br>-rw-r&#8211;r&#8211; 1 root root 29918 Mar 25 20:42 cblas.h<br>-rw-r&#8211;r&#8211; 1 root root 444 Mar 25 20:42 cblas_mangling.h<br>-rw-r&#8211;r&#8211; 1 root root 8051 Mar 25 20:42 cblas_test.h<br>-rw-r&#8211;r&#8211; 1 root root 4236 Mar 25 19:15 lapacke_config.h<br>-rw-r&#8211;r&#8211; 1 root root 834528 Mar 25 19:15 lapacke.h<br>-rw-r&#8211;r&#8211; 1 root root 474 Mar 25 19:15 lapacke_mangling.h<br>-rw-r&#8211;r&#8211; 1 root root 33161 Mar 25 19:15 lapacke_utils.h<br>-rw-r&#8211;r&#8211; 1 root root 455216 Mar 25 19:15 lapack.h<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>10. <a href=\"https:\/\/github.com\/tkouya\/lapack_blas_tutorial\" target=\"_blank\" rel=\"noreferrer noopener\">\u300cLAPACK\/BLAS\u5165\u9580\u300d\u30b5\u30f3\u30d7\u30eb\u30d7\u30ed\u30b0\u30e9\u30e0<\/a>\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">$ <strong>git clone https:\/\/github.com\/tkouya\/lapack_blas_tutorial<\/strong><br>$ <strong>cd lapack_blas_tutorial<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Makefile.unix \u2192 \u4e0b\u8a18\u306e\u3088\u3046\u306b\u66f8\u304d\u63db\u3048<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#*************************************************#\n# LAPACK\/BLAS Tutorial                            #\n# Makefile for Linux gcc or icc environment       #\n# Last Update: 2016-12-02 (Fri) T.Kouya           #\n#*************************************************#\n# ------------------------ start of configuration --------------------------\n# Intel C compiler\n#include lapack_icc.inc \u2190\u30b3\u30e1\u30f3\u30c8\u5316\n\n# GNU Compiler Collection\ninclude lapack_gcc.inc \u2190 \u30b3\u30e1\u30f3\u30c8\u5916\u3057\u3066\u6709\u52b9\u5316\n\n\uff08\u7565)\n# ------------------------ end of configuration --------------------------\nall: first matvec_mul linear_eq blas row_column_major eig dgecon openmp pthread \u2190 \"gpu\"\u3092\u5916\u3059\n#all: first matvec_mul linear_eq blas row_column_major gpu eig dgecon openmp pthread spblas_mkl<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">l<strong>apack_gcc.inc \u2192 \u4e0b\u8a18\u306e\u3088\u3046\u306b\u66f8\u304d\u63db\u3048<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#*************************************************#\n# LAPACK\/BLAS Tutorial                            #\n# Configuration file for GNU compiler collection  #\n# Last Update: 2016-12-02 (Fri) T.Kouya           #\n#*************************************************#\nCC=gcc\nFC=gfortran\nCPP=g++\n\nINC = -I\/usr\/local\/include\n#LIB = -L\/usr\/local\/lib\/gcc  -lgfortran -lm\nLIB = -L\/usr\/local\/lib  -lgfortran -lm\n\nCBLAS_INC = $(INC)\nCBLAS_LIB = $(LIB) -lcblas -lrefblas -lgfortran\n\nLAPACKE_INC = -I\/usr\/local\/include\/lapacke $(CBLAS_INC)\n#LAPACKE_LIB = -L\/usr\/local\/lib\/gcc -llapacke -llapack $(CBLAS_LIB)\nLAPACKE_LIB = -L\/usr\/local\/lib -llapacke -llapack $(CBLAS_LIB)\n\n#IMKL_INC=-I\/opt\/intel\/mkl\/include\n#IMKL_LIB=-L\/opt\/intel\/mkl\/lib\/intel64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -L\/opt\/intel\/lib\/intel64 -lifcore\n#IMKL_LIB=-L\/opt\/intel\/mkl\/lib\/intel64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -L\/opt\/intel\/lib\/intel64 -lifcore -liomp5\n\nOPENMP = -fopenmp\nOPENMP_LIB = -lgomp<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Make\u3057\u3066\u30b3\u30f3\u30d1\u30a4\u30eb\u2192\u5b9f\u884c\u30d5\u30a1\u30a4\u30eb\u306e\u4e00\u3064\u3092\u304a\u8a66\u3057<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">$ <strong>make -f Makefile.unix<\/strong><br>$<strong>.\/lapack_dgeev <\/strong>\u2190\u884c\u5217\u306e\u56fa\u6709\u5024\u30fb\u56fa\u6709\u30d9\u30af\u30c8\u30eb\u3092\u8a08\u7b97<br>Dim = <strong>3 <\/strong>\u2190\u6b21\u5143\u6570\u3092\u5165\u529b<br>Eigenvalues =<br>0: ( 1.82216, 0)<br>1: ( 0.103726, 0.366921)<br>2: ( 0.103726, -0.366921)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">(0.619085, 0) (0.634996, 0) (0.634996, 0)<br>(0.641249, 0) (-0.399111, -0.289681) (-0.399111, 0.289681)<br>(0.453358, 0) (-0.396179, 0.443416) (-0.396179, -0.443416)<br>||A * right_ev &#8211; lambda * right_ev||_F \/ ||A||_F = 4.35690729441612009e-16<br>||A^T * left_ev &#8211; lambda * left_ev||_F \/ ||A||_F = 3.79955740713784858e-16<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3000\u6c17\u304c\u4ed8\u3044\u305f\u3089LAPACK 3.6.0\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u65b9\u6cd5\u3092\u66f8\u3044\u3066\u304b\u3089\u5927\u5206\u7d4c\u3063\u3066\u305f\u306e\u3067\uff0cUbuntu\u74b0\u5883\u306bTAR ball\u304b\u3089\u30a4\u30f3\u30b9\u30c8\u2015\u3059\u308b\u65b9\u6cd5\u3092\u30e1\u30e2\u66f8\u304d\u3057\u3066\u304a\u304f\u3002\u524d\u63d0\u3068\u3057\u3066 GCC (gcc, gfortran)\u304c\u4f7f\u3048\u308b &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/na-inet.jp\/weblog2\/2020\/03\/25\/lapack-3-9-0%e3%82%92gcc%e3%81%a7%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;LAPACK 3.9.0\u3092GCC\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[11,7],"tags":[],"class_list":["post-3494","post","type-post","status-publish","format-standard","hentry","category-lapack","category-7"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/na-inet.jp\/weblog2\/wp-json\/wp\/v2\/posts\/3494","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/na-inet.jp\/weblog2\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/na-inet.jp\/weblog2\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/na-inet.jp\/weblog2\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/na-inet.jp\/weblog2\/wp-json\/wp\/v2\/comments?post=3494"}],"version-history":[{"count":11,"href":"https:\/\/na-inet.jp\/weblog2\/wp-json\/wp\/v2\/posts\/3494\/revisions"}],"predecessor-version":[{"id":3506,"href":"https:\/\/na-inet.jp\/weblog2\/wp-json\/wp\/v2\/posts\/3494\/revisions\/3506"}],"wp:attachment":[{"href":"https:\/\/na-inet.jp\/weblog2\/wp-json\/wp\/v2\/media?parent=3494"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/na-inet.jp\/weblog2\/wp-json\/wp\/v2\/categories?post=3494"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/na-inet.jp\/weblog2\/wp-json\/wp\/v2\/tags?post=3494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}