Question about MatSetValues

Barry Smith bsmith at mcs.anl.gov
Sun Jun 4 17:03:17 CDT 2006


   Yes, there is no info to put into it so it is empty.

   Barry

The info file would contain "meta-data" about the matrix like
block size.


On Sun, 4 Jun 2006, Sh.M wrote:

> Hi,
>
> When I now create these binary files they also create an info file. However
> the info file is empty. Is it supposed to be like this?
>
> With best regards, Shaman Mahmoudi
>
> ----- Original Message -----
> From: "Sh.M" <shaman.mahmoudi.7099 at student.uu.se>
> To: <petsc-users at mcs.anl.gov>
> Sent: Sunday, June 04, 2006 7:41 PM
> Subject: Re: Question about MatSetValues
>
>
>> Thanks.
>>
>> I will try that.
>>
>> With best regards, Shaman Mahmoudi
>>
>> ----- Original Message -----
>> From: "Barry Smith" <bsmith at mcs.anl.gov>
>> To: <petsc-users at mcs.anl.gov>
>> Sent: Sunday, June 04, 2006 7:20 PM
>> Subject: Re: Question about MatSetValues
>>
>>
>>>
>>>    Write a SEQUENTIAL program that reads in the matrix and then
>>> saves it with MatView() to a binary file (can do a right hand side also)
>>> then use ksp/ksp/examples/tutorials/ex10.c which uses MatLoad() to solve
>> the
>>> system.
>>>
>>>    See for example src/mat/examples/tests/ex32.c for an example of
>>> sequential program for reading in ASCII matrix. Also ex34.c ex50.c also
>> ex78.c
>>>
>>>
>>>
>>>     Barry
>>>
>>>
>>> On Sun, 4 Jun 2006, Sh.M wrote:
>>>
>>>> Hi,
>>>>
>>>> When using the MatSetValues function with one CPU only, it will
>> cache/save
>>>> the values locally and then distribute them to the other processes
> with
>>>> MatAssemblyBegin/MatAssemblyEnd? Is this true? What happens with the
>>>> cached/saved values afterwards? Are they released? Is there a way to
> not
>>>> cache/save the data locally at all?
>>>>
>>>> I am asking these questions because right now speed is not of highest
>>>> priority, but memory is. And unfortunately in my case I do not
> generate
>> the
>>>> matrix by my own and instead read it from a file obtained from "real
>> world"
>>>> data samples.
>>>>
>>>> I have read/distributed the matrix in a couple of different ways; for
>>>> example CPU 0 reads the file, and then calls MatSetValues.. One other
>> way
>>>> has been that CPU 0 reads the file, sends the rows that belong to the
>> other
>>>> processes to the other processes and those processes call MatSetValues
>> by
>>>> their own on the received rows. And last one is that I have split the
>> file
>>>> into several smaller files and several processes reads their own file
>> and
>>>> call MatSetValues on the data they have read from their own file. To
>> make it
>>>> more convenient for me, the number of files have been maximum number
> of
>>>> processors that I have used in my simulations. So If maximum number of
>>>> processors is 64, then number of files is 64. And if 8 processors are
>> used,
>>>> then each processor reads 8 files etc.
>>>>
>>>> I dont believe any of the approaches I have used are elegant...
>>>>
>>>> What would you guys do if you had a file in CSR format, and you want
> to
>> read
>>>> it, distribute it and then solve it if memory usage is of highest
>> priority?
>>>>
>>>> With best regards, Shaman Mahmoudi
>>>>
>>>>
>>>
>>
>
>




More information about the petsc-users mailing list