2017-03-09 4 views
1

Je sais comment installer et utiliser BLAS pour C (cblas.h), mais je ne sais pas comment utiliser BLAS Combinatorial (CombBLAS). Je utilise CentOS 6.5. Voici ce que j'ai installé avec succès sur mon serveur:Comment utiliser BLAS combinatoire?

# yum groupinstall "Development Tools" 
# yum install openmpi openmpi-devel 
# yum install atlas atlas-devel 
# yum install gnuplot 
# yum install lapack lapack-devel 
# yum install boost boost-devel 
# yum install cmake 

Et voilà comment je l'utilise dans mes BLAS codes. Je crée un fichier helloblas.c

#include <stdio.h> 
#include <stdlib.h> 
#include <cblas.h> 

void main() 
{ 
    double result; 
    int incx, incy; 
    incx = 1; 
    incy = 1; 
    double x[3] = {1,2,3}; 
    double y[3] = {3,4,5}; 
    result = cblas_ddot(3, x, incx, y, incy); 
    printf("Result = %lf \n", result); 
} 

Je compilez et exécutez avec succès en utilisant cette commande:

$ gcc helloblas.c -L/usr/lib64/atlas -lcblas 
$ ./a.out 

Et puis je procède en installant combinatoires BLAS (CombBLAS), à l'aide des étapes:

# wget http://gauss.cs.ucsb.edu/~aydin/CombBLAS_FILES/CombBLAS_beta_14_0.tgz 
# wget http://gauss.cs.ucsb.edu/~aydin/CombBLAS_FILES/testdata_combblas1.2.1.tgz 
# tar zxvf CombBLAS_beta_14_0.tgz 
# cp testdata_combblas1.2.1.tgz CombBLAS 
# cd CombBLAS 
# tar -xzvf testdata_combblas1.2.1.tgz 
# module add openmpi-x86_64 
# cmake . 
# make 

L'installation de CombBLAS a abouti car il n'y avait aucun message d'erreur.

J'ai vérifié le répertoire/usr/includes, il ne contient pas de bibliothèque de CombBLAS: /usr/includes

La bibliothèque CombBLAS (CombBLAS.h) se trouve dans le dossier source. /root/CombBLAS

J'ai trois questions:

  1. Comment utiliser et inclure la bibliothèque CombBLAS dans vos codes? Quelqu'un at-il un exemple de code source sur la façon d'utiliser CombBLAS? Je veux dire un simple, tout comme le helloblas.c ci-dessus.
  2. J'installe le CombBLAS sur mon serveur afin d'être utilisé par d'autres utilisateurs. Mais comme il n'y a pas de CombBLAS.h dans le dossier/usr/include, alors comment peuvent-ils l'utiliser? Évidemment, les utilisateurs normaux ne sont pas autorisés à accéder au répertoire/root.
  3. Existe-t-il une documentation utilisateur de CombBLAS?

Merci beaucoup.

Répondre

0

L'un des auteurs de CombBLAS m'a aidé à répondre à ma question. Plusieurs exemples de code se trouvent dans le dossier Applications. Par exemple, nous pouvons l'exécuter en utilisant cette commande (courir BFS pour le graphique 2^10 sommets):

$ cd Applications/ 
$ make tdbfs 
$ ./tdbfs Force 10 

Il y a d'autres exécutables qui peuvent être exécutés: betwcent (Betweenness Centralité), dobfs (Direction Optimisation Largeur First Search), fbfs (Filtered Breadth First Search), fmis, et mcl.