Observatoire de Paris - Code Fortran
version1.0
|
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... | |
|
private |
Returns the indices (local and global) of a local block.
self | Blocklist instance. |
iblock | Number of local block. |
iglob | Index of the first element of the block in the global matrix. |
iloc | Index of the first element of the block in the local matirx. |
bsize | Size of the block (number of elements in the block). |
|
private |
Returns the size of the blocklist.
self | Instance. |
|
private |
Initializes a blocklist instance.
self | Initialized instance on exit. |
mygrid | BLACS descriptor |
desc | Descriptor of the distributed matrix. |
rowcol | "C" for column, "R" for row blocks. |