Observatoire de Paris - Code Fortran  version1.0
Data Types
mod_scalapackfx_tools Module Reference

Data Types

type  blocklist
 
interface  readarray_master
 
interface  readarray_slave
 
interface  scalafx_addg2l
 
interface  scalafx_addl2g
 
interface  scalafx_cpg2l
 
interface  scalafx_cpl2g
 
interface  size
 
interface  writearray_master
 
interface  writearray_slave
 

Functions/Subroutines

blocklist

List of the local blocks of a distributed matrix.

This structure can be helpful when modifying a distributed matrix directly on the local nodes. For example, in order to multiply every column of a distributed matrix by a column dependent factor, you could use the blocklist the following way:

type(blocklist) :: blocks
integer :: ii, jj, jglob, jloc, bsize
:
call blocks%init(mygrid, descaa, "c")
do ii = 1, size(blocks)
call blocks%getblock(ii, jglob, jloc, bsize)
do jj = 0, bsize - 1
aa(:,jloc + jj) = aa(:,jloc + jj) * ff(jglob + jj)
end do
end do
subroutine blocklist_init (self, mygrid, desc, rowcol)
 Initializes a blocklist instance. More...
 
integer function blocklist_getsize (self)
 Returns the size of the blocklist. More...
 
subroutine blocklist_getblock (self, iblock, iglob, iloc, bsize)
 Returns the indices (local and global) of a local block. More...
 

Function/Subroutine Documentation

◆ blocklist_getblock()

subroutine mod_scalapackfx_tools::blocklist_getblock ( class(blocklist), intent(in)  self,
integer, intent(in)  iblock,
integer, intent(out)  iglob,
integer, intent(out)  iloc,
integer, intent(out)  bsize 
)
private

Returns the indices (local and global) of a local block.

Parameters
selfBlocklist instance.
iblockNumber of local block.
iglobIndex of the first element of the block in the global matrix.
ilocIndex of the first element of the block in the local matirx.
bsizeSize of the block (number of elements in the block).

◆ blocklist_getsize()

integer function mod_scalapackfx_tools::blocklist_getsize ( class(blocklist), intent(in)  self)
private

Returns the size of the blocklist.

Parameters
selfInstance.
Returns
Number of local blocks of the distributed matrix.

◆ blocklist_init()

subroutine mod_scalapackfx_tools::blocklist_init ( class(blocklist), intent(inout)  self,
type(blacsgrid), intent(in)  mygrid,
integer, dimension(dlen_), intent(in)  desc,
character, intent(in)  rowcol 
)
private

Initializes a blocklist instance.

Parameters
selfInitialized instance on exit.
mygridBLACS descriptor
descDescriptor of the distributed matrix.
rowcol"C" for column, "R" for row blocks.