MPI Learning Records

MPI Learning Records

  1. MPI Tutorial
    2014/1/7完成代码实现部分

  2. MPI编译环境的使用


  1. 编程提高(代码产出):
    http://www.mcs.anl.gov/research/projects/mpi/tutorial/mpiexmpl/contents.html
    http://www.mcs.anl.gov/research/projects/mpi/tutorial/mpiexmpl/advanced.html
    暂时不考虑学习
  1. Message Passing Interface (MPI) Author: Blaise Barney, Lawrence Livermore National Laboratory
    非常不错的入门. 2014/1/7完成阅读
  1. Tutorial material on MPI available on the Web
    网上的入门材料汇总
  2. MPI Exercises
    极好的练习题. 2014/1/7 完成练习题的解读. 下一步应该找个算法自己动手实现下.
    该课程的完整连接

极好的MPI练习题

  1. MPI Hands-On Exercises
  2. Training OpenMP

分布式机器学习算法by MPI

  1. K-means 实现
    1. Parallel K-Means Data Clustering
      1. view on github
    2. Parallel-K-Means-MPI-C
  2. Pagerank实现
    2014/1/19完成. view on github
  3. LDA 实现
  4. The Netflix Prize:Alternating Least Squares in MPI]
  5. MPI example for alternating direction method of multipliers
    slides
    Distributed Optimization and Statistical Learning via the Alternating Direction Method of Multipliers

Lapacke和CBLAS的安装和使用

安装Lapacke时出现错误:

gfortran: error: ../../librefblas.a: No such file or directory
make[1]: *** [../xblat1s] Error 1
make[1]: Leaving directory `/home/onlyme/Downloads/lapack/BLAS/TESTING'
make: *** [blas_testing] Error 2

解决方法:

  1. make blaslib #先编译blaslib
  2. make lapacke #再编译lapacke
  3. make lapacke_example #检查lapacke是否安装成功
  4. compile with:g++ als_chow.cpp -llapack -lblas -o als

参考

lapacke和CBLAS学习小记(1)
stackoverflow: Understanding LAPACK calls in C++ with a simple example
Calling BLAS Functions that Return the Complex Values in C/C++ Code

MPI%20Learning%20Records%0A%3D%3D%3D%3D%3D%3D%3D%0A@%5Bpublished%7Cmpi%7Cdistributed%20computing%5D%0A1.%20%5BMPI%20Tutorial%5D%28http%3A//mpitutorial.com/point-to-point-communication-application-random-walk/%29%20%20%0A2014/1/7%u5B8C%u6210%u4EE3%u7801%u5B9E%u73B0%u90E8%u5206%20%20%20%20%20%20%0A%0A2.%20%5BMPI%u7F16%u8BD1%u73AF%u5883%u7684%u4F7F%u7528%5D%28http%3A//scc.ustc.edu.cn/zlsc/pxjz/201110/MPI%25E7%25BC%2596%25E8%25AF%2591%25E7%258E%25AF%25E5%25A2%2583%25E7%259A%2584%25E4%25BD%25BF%25E7%2594%25A8-hmli.pdf%29%0A____________%0A%0A2.%20%u7F16%u7A0B%u63D0%u9AD8%28%u4EE3%u7801%u4EA7%u51FA%29%3A%20%20%0A%20%20%20%20http%3A//www.mcs.anl.gov/research/projects/mpi/tutorial/mpiexmpl/contents.html%0A%20%20%20%20http%3A//www.mcs.anl.gov/research/projects/mpi/tutorial/mpiexmpl/advanced.html%20%20%0A%20%20%20%20%u6682%u65F6%u4E0D%u8003%u8651%u5B66%u4E60%20%20%0A%20%20%20%20%0A%20%20%20%20%0A3.%20%5BMessage%20Passing%20Interface%20%28MPI%29%20%20Author%3A%20Blaise%20Barney%2C%20Lawrence%20Livermore%20National%20Laboratory%5D%28https%3A//computing.llnl.gov/tutorials/mpi/%29%20%20%0A%u975E%u5E38%u4E0D%u9519%u7684%u5165%u95E8.%202014/1/7%u5B8C%u6210%u9605%u8BFB%20%20%0A%0A%0A%0A4.%20%5BTutorial%20material%20on%20MPI%20available%20on%20the%20Web%5D%28http%3A//www.mcs.anl.gov/research/projects/mpi/tutorial/%29%20%20%0A%20%20%20%20%u7F51%u4E0A%u7684%u5165%u95E8%u6750%u6599%u6C47%u603B%20%20%0A5.%20%5BMPI%20Exercises%5D%28https%3A//computing.llnl.gov/tutorials/mpi/exercise.html%23Exercise1%29%20%20%0A%20%20%20%20%u6781%u597D%u7684%u7EC3%u4E60%u9898.%202014/1/7%20%u5B8C%u6210%u7EC3%u4E60%u9898%u7684%u89E3%u8BFB.%20%u4E0B%u4E00%u6B65%u5E94%u8BE5%u627E%u4E2A%u7B97%u6CD5%u81EA%u5DF1%u52A8%u624B%u5B9E%u73B0%u4E0B.%20%20%0A%20%20%20%20%u8BE5%u8BFE%u7A0B%u7684%5B%u5B8C%u6574%u8FDE%u63A5%5D%28https%3A//computing.llnl.gov/tutorials/agenda/index.html%29%0A%0A%23%23%u6781%u597D%u7684MPI%u7EC3%u4E60%u9898%0A%20%201.%20%5BMPI%20Hands-On%20Exercises%5D%28http%3A//www.nics.tennessee.edu/mpi-tutorial%23laplace%29%0A%20%202.%20%5BTraining%20OpenMP%5D%28http%3A//www.hpc.cineca.it/content/training-openmp%29%20%20%0A%20%203.%20%0A%0A%23%23%23%20%u5206%u5E03%u5F0F%u673A%u5668%u5B66%u4E60%u7B97%u6CD5by%20MPI%0A1.%20*K*-means%20%u5B9E%u73B0%0A%20%20%20%201.%20%5BParallel%20*K*-Means%20Data%20Clustering%5D%28http%3A//www.ece.northwestern.edu/%7Ewkliao/Kmeans/%29%0A%20%20%20%20%20%20%20%201.%20%20%5Bview%20on%20github%5D%28https%3A//github.com/irwenqiang/mpilearning/tree/master/K-Means%29%0A%20%20%20%202.%20%5BParallel-*K*-Means-MPI-C%5D%28https%3A//github.com/seckin206/Parallel-K-Means-MPI-C/blob/master/source.c%29%0A2.%20Pagerank%u5B9E%u73B0%20%20%20%0A%20%20%20%202014/1/19%u5B8C%u6210.%20%5Bview%20on%20github%5D%28https%3A//github.com/irwenqiang/mpilearning/tree/master/pagerank%29%0A2.%20LDA%20%u5B9E%u73B0%0A3.%20%5BThe%20Net%uFB02ix%20Prize%3AAlternating%20Least%20Squares%20in%20MPI%5D%5D%28http%3A//www.columbia.edu/%7Esrh2144/Netflix_ALS.pdf%29%20%20%0A4.%20%5BMPI%20example%20for%20alternating%20direction%20method%20of%20%20multipliers%5D%28http%3A//www.stanford.edu/%7Eboyd/papers/admm/mpi/%29%20%20%0A%5Bslides%5D%28http%3A//www.stanford.edu/%7Eboyd/papers/pdf/admm_slides.pdf%29%20%20%0A%5BDistributed%20Optimization%20and%20Statistical%20Learning%20via%20the%20Alternating%20Direction%20Method%20of%20Multipliers%5D%28http%3A//www.stanford.edu/%7Eboyd/papers/pdf/admm_distr_stats.pdf%29%20%20%0A%0A%23%23%23%23Lapacke%u548CCBLAS%u7684%u5B89%u88C5%u548C%u4F7F%u7528%20%20%0A%u5B89%u88C5Lapacke%u65F6%u51FA%u73B0%u9519%u8BEF%3A%20%20%0A%60%60%60cpp%0Agfortran%3A%20error%3A%20../../librefblas.a%3A%20No%20such%20file%20or%20directory%0Amake%5B1%5D%3A%20***%20%5B../xblat1s%5D%20Error%201%0Amake%5B1%5D%3A%20Leaving%20directory%20%60/home/onlyme/Downloads/lapack/BLAS/TESTING%27%0Amake%3A%20***%20%5Bblas_testing%5D%20Error%202%0A%60%60%60%20%20%0A%u89E3%u51B3%u65B9%u6CD5%3A%20%20%0A1.%20%60%60%60make%20blaslib%60%60%60%20%23%u5148%u7F16%u8BD1blaslib%0A2.%20%60%60%60make%20lapacke%60%60%60%20%23%u518D%u7F16%u8BD1lapacke%0A3.%20%60%60%60make%20lapacke_example%60%60%60%20%20%23%u68C0%u67E5lapacke%u662F%u5426%u5B89%u88C5%u6210%u529F%20%20%0A4.%20compile%20with%3A%60%60%60g++%20als_chow.cpp%20-llapack%20-lblas%20-o%20als%60%60%60%0A%0A**%u53C2%u8003**%0A%0A%5Blapacke%u548CCBLAS%u5B66%u4E60%u5C0F%u8BB0%281%29%5D%28http%3A//onlimii.com/blog/2013/05/16/lapackehe-blasxue-xi-xiao-ji-1/%29%20%20%0A%5Bstackoverflow%3A%20Understanding%20LAPACK%20calls%20in%20C++%20with%20a%20simple%20example%5D%28http%3A//stackoverflow.com/questions/10112135/understanding-lapack-calls-in-c-with-a-simple-example%29%20%20%0A%5BCalling%20BLAS%20Functions%20that%20Return%20the%20Complex%20Values%20in%20C/C++%20Code%5D%28http%3A//software.intel.com/sites/products/documentation/hpc/mkl/mkl_userguide_lnx/GUID-A0908E50-19D7-44C1-A068-44036B466BC7.htm%23IX_COMPLEX_BLAS_LEVEL_1_1%29%20%20%0A%0A%0A%0A%20%20%0A%20%20%0A


comments powered by Disqus