Opened 7 years ago
Last modified 7 years ago
#18100 closed enhancement
Parallelization of computations on tensors on free modules — at Version 12
Reported by:  egourgoulhon  Owned by:  

Priority:  major  Milestone:  sage6.10 
Component:  linear algebra  Keywords:  parallelization, free module, tensor 
Cc:  tscrim  Merged in:  
Authors:  Marco Mancini  Reviewers:  
Report Upstream:  N/A  Work issues:  
Branch:  public/18100parallelization_tensors  Commit:  ea38c84d685446a1de5793cd00d79ea6c5448605 
Dependencies:  Stopgaps: 
Description (last modified by )
This ticket implements parallelization of basic operations (arithmetics, contractions) on tensors on free modules of finite rank. The parallelization is performed by means of Python's module multiprocessing
, via the decorator @parallel
. It is implemented in computational methods of classes handling tensor components: sage.tensor.modules.comp.Components
and sage.tensor.modules.comp.CompWithSym
. The user can control the number of processes involved in the parallelization via the global function set_nproc
, with set_nproc(1)
switching off the parallelization (the default).
This work is an extension of #15916, within the SageManifolds project (actually the code in this ticket is the basis for parallelization in SageManifolds 0.8). See the metaticket #18528 for an overview.
Change History (12)
comment:1 Changed 7 years ago by
 Branch set to public/18100parallelization_tensors
 Commit set to 2f9352531d734bad923eb72bb335af843bfed3c8
comment:2 Changed 7 years ago by
 Commit changed from 2f9352531d734bad923eb72bb335af843bfed3c8 to 208015433bc7538a62c47fb09b27a58def53704d
Branch pushed to git repo; I updated commit sha1. New commits:
2080154  Renamed class for parallelism in the Singleton class TensorParallelism. Added doc/test for TensorParallelism

comment:3 Changed 7 years ago by
 Commit changed from 208015433bc7538a62c47fb09b27a58def53704d to 5659f29c3a1d5a7ae9601cece8198a6e277384fa
Branch pushed to git repo; I updated commit sha1. New commits:
5659f29  Added parallelization on tensor product

comment:4 Changed 7 years ago by
 Commit changed from 5659f29c3a1d5a7ae9601cece8198a6e277384fa to 325e83284ff3b7e0fcb3cf3b6c196814ffb5874e
Branch pushed to git repo; I updated commit sha1. New commits:
325e832  Corrected error in parallelisation of __mul__. Added parallism for the symmetric __add__

comment:5 Changed 7 years ago by
 Commit changed from 325e83284ff3b7e0fcb3cf3b6c196814ffb5874e to 256d26894f461b15acb2be7fb5815fc06cff5405
Branch pushed to git repo; I updated commit sha1. New commits:
256d268  changed name TensorParallelism to TensorParallelCompute

comment:6 Changed 7 years ago by
 Commit changed from 256d26894f461b15acb2be7fb5815fc06cff5405 to bea739dea7a019607b770eafc5e436392e7f0bbf
Branch pushed to git repo; I updated commit sha1. New commits:
bea739d  Added Eric corrections to parallelism

comment:7 Changed 7 years ago by
 Commit changed from bea739dea7a019607b770eafc5e436392e7f0bbf to 81f662cc7cb2a1add3e14d862654d1658f16bb43
comment:8 Changed 7 years ago by
 Milestone changed from sage6.6 to sage6.8
comment:9 Changed 7 years ago by
 Commit changed from 81f662cc7cb2a1add3e14d862654d1658f16bb43 to ea38c84d685446a1de5793cd00d79ea6c5448605
Branch pushed to git repo; I updated commit sha1. New commits:
ea38c84  In doc, changed processor with process

comment:10 Changed 7 years ago by
 Status changed from new to needs_review
comment:11 Changed 7 years ago by
 Cc tscrim added
 Description modified (diff)
comment:12 Changed 7 years ago by
 Description modified (diff)
New commits:
merged parallelisation from SageManifold
added paralellization