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: sage-6.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/18100-parallelization_tensors Commit: ea38c84d685446a1de5793cd00d79ea6c5448605
Dependencies: Stopgaps:

Status badges

Description (last modified by egourgoulhon)

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 mmancini

  • Branch set to public/18100-parallelization_tensors
  • Commit set to 2f9352531d734bad923eb72bb335af843bfed3c8

New commits:

4ca6874merged parallelisation from SageManifold
2f93525added paralellization

comment:2 Changed 7 years ago by git

  • Commit changed from 2f9352531d734bad923eb72bb335af843bfed3c8 to 208015433bc7538a62c47fb09b27a58def53704d

Branch pushed to git repo; I updated commit sha1. New commits:

2080154Renamed class for parallelism in the Singleton class TensorParallelism. Added doc/test for TensorParallelism

comment:3 Changed 7 years ago by git

  • Commit changed from 208015433bc7538a62c47fb09b27a58def53704d to 5659f29c3a1d5a7ae9601cece8198a6e277384fa

Branch pushed to git repo; I updated commit sha1. New commits:

5659f29Added parallelization on tensor product

comment:4 Changed 7 years ago by git

  • Commit changed from 5659f29c3a1d5a7ae9601cece8198a6e277384fa to 325e83284ff3b7e0fcb3cf3b6c196814ffb5874e

Branch pushed to git repo; I updated commit sha1. New commits:

325e832Corrected error in parallelisation of __mul__. Added parallism for the symmetric __add__

comment:5 Changed 7 years ago by git

  • Commit changed from 325e83284ff3b7e0fcb3cf3b6c196814ffb5874e to 256d26894f461b15acb2be7fb5815fc06cff5405

Branch pushed to git repo; I updated commit sha1. New commits:

256d268changed name TensorParallelism to TensorParallelCompute

comment:6 Changed 7 years ago by git

  • Commit changed from 256d26894f461b15acb2be7fb5815fc06cff5405 to bea739dea7a019607b770eafc5e436392e7f0bbf

Branch pushed to git repo; I updated commit sha1. New commits:

bea739dAdded Eric corrections to parallelism

comment:7 Changed 7 years ago by git

  • Commit changed from bea739dea7a019607b770eafc5e436392e7f0bbf to 81f662cc7cb2a1add3e14d862654d1658f16bb43

Branch pushed to git repo; I updated commit sha1. New commits:

a6d4bd4Merge branch 'public/18100-parallelization_tensors' into Sage 6.7
81f662cImprove documentation of class TensorParallelCompute.

comment:8 Changed 7 years ago by mmancini

  • Milestone changed from sage-6.6 to sage-6.8

comment:9 Changed 7 years ago by git

  • Commit changed from 81f662cc7cb2a1add3e14d862654d1658f16bb43 to ea38c84d685446a1de5793cd00d79ea6c5448605

Branch pushed to git repo; I updated commit sha1. New commits:

ea38c84In doc, changed processor with process

comment:10 Changed 7 years ago by mmancini

  • Status changed from new to needs_review

comment:11 Changed 7 years ago by egourgoulhon

  • Cc tscrim added
  • Description modified (diff)

comment:12 Changed 7 years ago by egourgoulhon

  • Description modified (diff)
Note: See TracTickets for help on using tickets.