Commit 81b33f0c authored by Jean-Eric Campagne's avatar Jean-Eric Campagne
Browse files

(JEC) 2/5/15 remove the French History

parent 19d84990
Laguerre Spherical Harmonic Transform
======================================
Download en Guest
git clone https://gitlab.in2p3.fr/campagne/LagSHT.git
Download en Personne enregistree sur gitlab
git clone git@gitlab.in2p3.fr:campagne/LagSHT.git
# 15/4/15
* update of lagsht_numbers.h by a code plateform automatic
* laguerreTransfrom.cc use BLAS matrix operation and this is a great gain ! So for Darwin use Accelerate Framework and for Linux use OpenBLAS.
# 11/4/15
* update of the code by M.R to compute the nodes/weights included in the LaguerreBuilder file.
* NB: use of `<cmath>` mandatory
# 10/4/15
* new code from M. Reinecke to compute the nodes/weights of the generalized Laguerre function quadrature. It extends greatly the validity of the computation (N ~ 20000 tested) wo the needs of special floating-point representation. It is done by proprely scaling factor do on the fly.
# 9/4/15
* new set of files for a Stand-a-lone version wo `Sophya`
* extension of the computation of the weights (Laguerre function) up to N ~ 5500 by transfert of the exponential scale a the very beginning (see laguerreBuilder.cc)
* setup some helper to get the geometry (theta, phi) positions of geometry
* start documentation (Doxygen)
`> doxygen doxydoc`
* Timing files (error_handling, walltimer) give nice Timing trees
```
Total wall clock time for 'MultiSphericalLaguerreTransform': 92.0287s
|
+- processing : 92.05% (84.7126s)
| |
| +- processing part Analysis : 51.18% (43.3588s)
| +- processing part Synthesis : 48.82% (41.3539s)
| | |
| | +- SHT Synthesis : 68.20% (28.2026s)
| | +- Laguerre MultiSynthesis : 24.84% (10.2739s)
| | +- <unaccounted> : 6.96% ( 2.8773s)
| |
| +- <unaccounted> : 0.00% ( 0.0000s)
|
+- data input : 0.91% ( 0.8384s)
+- <unaccounted> : 7.04% ( 6.4777s)
```
# 8/4/15
* creation d'un directory **Sophya** pour deplacer le code existant (v0.2) et pouvoir creer un code independant pour etre distribuable.
# Version du 07/04/15 (v 0.2)
* Essentiellement optimization du code de LaguerreTransform (MultiSyntheis & MultiAnalysis) grace a la collaboration de Martin Reinecke (auteur de `libsharp` )
# Version du 03/04/15
* refonte des algorithmes de Synthese/Analyse de la transformation de Laguerre en utilisant des functions generalisees de Laguerre et non les polynomes generalises. Ainsi, le facteur exponentiel permet de manipuler au mieux des nombres 64-bits sauf a quelques endroits ou on a besoin de 128-bits. L'ineterface avec `libsharp` se fait donc mieux.
* L'algorithme d'Analyse la transformation Harmonqiue Spherique + Laguerre a ete revu pour tirer profit des calculs iteratifs des polynomes de Laguerre comme dans le cza de la Synthese. Cela induit une acceleration significative.
# Version du 25/3/15
## Liste des fichiers
* laguerreBuilder.h (.cc) : class Polynomes de Laguerre generalises
* laguerreTransform.h (.cc) : class Transformation de Laguerre (et Inverse)
* lagSphericTransform.h (.cc) : class Transformation Harmonique Spherique & Laguerre (et Inverse)
* tstlag.cc: un programme de test (utiliser #define TEST <valeur> 1,..,4)
* Makefile:
modifier le lieu ou est installe libsharp
desactiver NTLLIB si NTL pas installee
## Librairies requises
* SOPHYA
Sophya doit avoir ete configure avec
`-scxx g++ -sasz64 -ldble128`
pour prendre en charge au moins les "r_16" (long double)
si NTL est installee et que l'on veut que Sophya (NDataBlock) s'en serve pour les xdouble alors
il faut configurer Sophya avec egalement:`-xdble`
* LIBSHARP
`git clone git://git.code.sf.net/p/libsharp/code libsharp-code`
Voir dans `libsharp-code/libsharp/sharp_cxx.h` et ajouter si necessaire:
sharp_geom_info* get_geom_info() { return ginfo;}
sharp_alm_info* get_alm_info() { return ainfo; }
## Compilation
> mkdir Objs
> edit tstlag.cc pour changer la variable TESTLEVEL [1,4]
> make
## Running
> ./Objs/tstlag (default)
> ./Objs/tstlag -l 100 -n 100 (Lmax = 100, Nmax = 100)
## Plateform ou le code a ete teste
Mac OS X 10.9.5 + gcc 4.8.4
Linux SLC 6.6 + gcc 4.9.1 20140922
# Exemple de run (Linux)
```
opera3Exp:opera/campagne/LagSHT$./Objs/tstlag -l 100 -n 1000
PIOPersist::Initialize() Starting Sophya Persistence management service
SOPHYA Version 2.3 Revision 45 (V_Dec2014) -- Mar 25 2015 15:14:56 gcc 4.9.1 20140922 (Red Hat 4.9.1-10)
sizeof(long double): 16 bytes min 3.3621e-4932 max 1.18973e+4932 min exp_10 -4931 max exp_10 4932
Tests Level (1): L: 100 N: 1000
r_16 Sum roots = 1.002e+06 ->0
r_16 Sum weights = 2 ->-3.6787e-15
***Timing Test 1 (r_16)
CPU Time: Total= 0.15 (Partial= 0.15) s
Elapsed Time: Total=00.150 s (Partial= 00.150 s)
```
```
> opera3Exp:opera/campagne/LagSHT$./Objs/tstlag -l 100 -n 100
PIOPersist::Initialize() Starting Sophya Persistence management service
SOPHYA Version 2.3 Revision 45 (V_Dec2014) -- Mar 25 2015 15:14:56 gcc 4.9.1 20140922 (Red Hat 4.9.1-10)
sizeof(long double): 16 bytes min 3.3621e-4932 max 1.18973e+4932 min exp_10 -4931 max exp_10 4932
Tests Level (4): L: 100 N: 100
LaguerreSphericalTransform::Ctor done
SetThetaPhiMap: Nring, Nphi, Npix, Nalm 199, 199, 39601, 5050
***Timing SHTL r_16/end init
CPU Time: Total= 0 (Partial= 0) s
Elapsed Time: Total=00.001 s (Partial= 00.001 s)
verif : Ntot 505000 id value = 505000
***Timing SHTL r_16/end rndm filling
CPU Time: Total= 0.05 (Partial= 0.05) s
Elapsed Time: Total=00.043 s (Partial= 00.043 s)
NDataBlock::Print(0x7fff1c366580,Sz=505000,IsTemp=0)
mSRef=0xce9dd0(nref=1,data=0x7f553ebbc010,bridge=0)
(-0.998029,0) (-0.916738,0) (-0.646715,0) (-0.270796,0) (-0.817339,0) (-0.815405,0) (-0.0255656,0) (0.0535006,0)
(-0.0911332,0) (-0.533643,0)
Main:Synthesis...
***Timing SHTL r_16/end synthesis
CPU Time: Total= 4.08 (Partial= 4.03) s
Elapsed Time: Total=01.172 s (Partial= 01.172 s)
Main:Analysis...
***Timing SHTL r_16/end analysis
CPU Time: Total= 8.68 (Partial= 4.6) s
Elapsed Time: Total=02.221 s (Partial= 01.221 s)
Error analysis...
>>>>>>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<<<<<<<<<<
r_16 Err. Max. 9.37109e-14 [459748], Err. Rel. 7.85865e-11
>>>>>>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<<<<<<<<<<
***Timing Test 4 r_16
CPU Time: Total= 8.73 (Partial= 0.05) s
Elapsed Time: Total=02.282 s (Partial= 00.282 s)
```
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment