Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2008:07_04

Commit 2008-07-04

  • google sparsehash

Modifs

  • Compilation / installation des google SparsesHash
    • Les Sparsehash de google est une lib qui propose deux implémentations efficaces des hash maps & sets : la dense_hash_map optimisée pour une vitesse d'accès maxmale & la sparse_hash_map optimisée pour une utilisation mémoire minimale.
    • version installée sparsehash-1.1.zip
    • Compilation Linux : ce qui marche pour les hashmaps gcc, c'est “tr1/unordered_map” et pas “ext/has_map”

⇒ une fois fait le ./configure effectué, il faut modifier le fichier “sparsehash-1.1/include/google/sparsehash/sparseconfig.h” comme suit :

/* the location of <hash_fun.h>/<stl_hash_fun.h> */
/* #define HASH_FUN_H <ext/hash_fun.h> */
/* the namespace of hash_map/hash_set */
/* #define HASH_NAMESPACE __gnu_cxx */
#define HASH_NAMESPACE std::tr1 
#define HASH_MAP<tr1/unordered_map>
#define HASH_SET<tr1/unordered_set>
#define HASH_FUN_H <tr1/functional>
  • Compilation Windows : Si l'on prend les sources tel quel, les includes sont foireux ⇒ copier “src/windows/google/sparsehash/sparseconfig.h” → “src/google/sparsehash/sparseconfig.h” et supprimer l'arborescence windows …
  • utilisation google SparsesHash
    • Dans les classes Locinv & DofSet

Futur Works

Tests

Projet

  • Récupere le nouveau package de libs (LibsVs2005-080704.rar)(ou bien juste rajouter le module Google-sparsehash-080704.rar pour ne pas retransferer 200 Mb) ⇒ ftp …
  • Pour ceux qui compilent leurs propres projet, il faut ajouter au AdditionalIncludeDirectory le répertoire des sparsehash aux projets suivants :
$(METAFORLIBS_VS2005)\Google\sparsehash\src
mtFEM       / _mtFEM
mtFEMBase   / _mtFEMBase
mtElements  / _mtElements
mtAle       / _mtAle
IntelSig    / _IntelSig
  • Ajouter dans le meta_config.h : #define _WITH_GOOGLE_SPARSEHASH_
  • Linux : Done (+ suppression du profile spirou au bénéfice du profile Linux (vu qu'on n'a plus qu'1 seule machine linux32)
  • sparsehash installées dans /opt/sparsehash-1.1

ToDo list

Fichiers ajoutés/supprimés

A 
R oo_meta/profiles/spirou/

Luc PAPELEUX 2008/07/04

commit/2008/07_04.txt · Last modified: 2016/03/30 15:23 (external edit)