3
* This file is part of MUMPS 4.8.4, built on Mon Dec 15 15:31:38 UTC 2008
3
* This file is part of MUMPS 4.9.2, built on Thu Nov 5 07:05:08 UTC 2009
6
6
* This version of MUMPS is provided to you free of charge. It is public
7
7
* domain, based on public domain software developed during the Esprit IV
8
8
* European project PARASOL (1996-1999) by CERFACS, ENSEEIHT-IRIT and RAL.
9
9
* Since this first public domain version in 1999, the developments are
10
* supported by the following institutions: CERFACS, ENSEEIHT-IRIT, and
10
* supported by the following institutions: CERFACS, CNRS, INPT(ENSEEIHT)-
13
* Main contributors are Patrick Amestoy, Iain Duff, Abdou Guermouche,
14
* Jacko Koster, Jean-Yves L'Excellent, and Stephane Pralet.
13
* Current development team includes Patrick Amestoy, Alfredo Buttari,
14
* Abdou Guermouche, Jean-Yves L'Excellent, Bora Ucar.
16
16
* Up-to-date copies of the MUMPS package can be obtained
17
17
* from the Web pages:
25
25
* User documentation of any code that uses this software can
26
26
* include this complete notice. You can acknowledge (using
27
* references [1], [2], and [3]) the contribution of this package
27
* references [1] and [2]) the contribution of this package
28
28
* in any scientific publication dependent upon the use of the
29
29
* package. You shall use reasonable endeavours to notify
30
30
* the authors of the package of this publication.
32
* [1] P. R. Amestoy, I. S. Duff and J.-Y. L'Excellent,
33
* Multifrontal parallel distributed symmetric and unsymmetric solvers,
34
* in Comput. Methods in Appl. Mech. Eng., 184, 501-520 (2000).
36
* [2] P. R. Amestoy, I. S. Duff, J. Koster and J.-Y. L'Excellent,
32
* [1] P. R. Amestoy, I. S. Duff, J. Koster and J.-Y. L'Excellent,
37
33
* A fully asynchronous multifrontal solver using distributed dynamic
38
34
* scheduling, SIAM Journal of Matrix Analysis and Applications,
39
35
* Vol 23, No 1, pp 15-41 (2001).
41
* [3] P. R. Amestoy and A. Guermouche and J.-Y. L'Excellent and
37
* [2] P. R. Amestoy and A. Guermouche and J.-Y. L'Excellent and
42
38
* S. Pralet, Hybrid scheduling for the parallel solution of linear
43
39
* systems. Parallel Computing Vol 32 (2), pp 136-156 (2006).
167
163
void mumps_update_current_file_position(mumps_file_struct* file_arg);
168
164
int mumps_compute_where_to_write(const double to_be_written,const int type,long long vaddr,size_t already_written);
169
165
int mumps_prepare_pointers_for_write(double to_be_written,int * pos_in_file, int * file_number,const int type,long long vaddr,size_t already_written);
170
int mumps_io_do_write_block(void * address_block,int * block_size,int * type,long long vaddr,int * ierr);
171
int mumps_io_do_read_block(void * address_block,int * block_size,int * type,long long vaddr,int * ierr);
172
int mumps_compute_nb_concerned_files(int * block_size,int * nb_concerned_files,long long vaddr);
166
int mumps_io_do_write_block(void * address_block,long long block_size,int * type,long long vaddr,int * ierr);
167
int mumps_io_do_read_block(void * address_block,long long block_size,int * type,long long vaddr,int * ierr);
168
int mumps_compute_nb_concerned_files(long long block_size,int * nb_concerned_files,long long vaddr);
173
169
MUMPS_INLINE int mumps_gen_file_info(long long vaddr, int * pos, int * file);
174
170
int mumps_free_file_pointers(int* step);
175
171
int mumps_init_file_structure(int* _myid, int* total_size_io,int* size_element,int nb_file_type,int *flag_tab);
198
194
int mumps_io_read_win32__(void * file,void * loc_addr,size_t size,int local_offset);
196
int mumps_compute_file_size(void *file,size_t *size);
200
197
#if ! defined (MUMPS_WIN32) && ! defined (WITHOUT_PTHREAD)
201
198
# ifdef WITH_PFUNC
202
199
int mumps_io_protect_pointers();