[petsc-users] Question - about the 'Hint for performance tuning'

Barry Smith bsmith at petsc.dev
Mon Jan 2 13:05:06 CST 2023



> On Jan 2, 2023, at 9:27 AM, 김성익 <ksi2443 at gmail.com> wrote:
> 
> There are more questions.
> 
> 1. Following your comments, but there is an error as below.
> <image.png>
> How can I fix this?

   The previous value of PETSC_ARCH was not arch-main-debug do ls $PETSC_DIR and locate the directory whose name begins with arch- that will tell you the previous value used for PETSC_ARCH.

> 
> 2. After changing the optimized build, then how can I set the debug mode again?

   export PETSC_ARCH=arch- whatever the previous value was and then recompile your code (note you do not need to recompile PETSc just your executable).

> 
> 3.Following your comments, the new makefile is as below. Is it right?
> CFLAGS       = -O3
> FFLAGS       =
> CPPFLAGS         =
> FPPFLAGS         =
> COPTFLAGS        = -march=native
>  
> app : a1.o a2.o a3.o a4.o
>    $(LINK.C) -o $@ $^ $(LDLIBS)
>  
> include ${PETSC_DIR}/lib/petsc/conf/rules
> include ${PETSC_DIR}/lib/petsc/conf/test

Best not to set these values in the makefile at all because they will affect all compilers. Just set them with ./configure CCOPTFLAGS="-O3 -march=native"

> 
> 
> 4. I have no such processors. Where can I find benchmark information about STREAMS?

  do make mpistreams in PETSC_DIR


> 
> 
> Thanks, 
> Hyung Kim
> 
> 
> 
> 
> 
> 
> 
> 
> 2023년 1월 2일 (월) 오후 11:03, Matthew Knepley <knepley at gmail.com <mailto:knepley at gmail.com>>님이 작성:
>> On Mon, Jan 2, 2023 at 4:16 AM 김성익 <ksi2443 at gmail.com <mailto:ksi2443 at gmail.com>> wrote:
>>> Hello,
>>> 
>>> Happy new year!!
>>> 
>>>  
>>> I have some questions about “Hint for performance tuning” in user guide of petsc.
>>> 
>>>  
>>> 1.     In the “Performance Pitfalls and Advice” section, there are 2 modes “debug” and “optimized builds. My current setup is debug mode. So I want to change for test the performance the optimized build mode. However, if I configure again, does the existing debug mode disappear? Is there any way to coexist the 2 modes and use them in the run the application?
>>> 
>> Suppose your current arch is named "arch-main-debug". Then you can make an optimized version using
>> 
>>   cd $PETSC_DIR
>>   ./arch-main-debug/lib/petsc/conf/reconfigure-arch-main-debug.py --with-debugging=0 --PETSC_ARCH=arch-main-opt
>>  
>>> 2.     In the guide, there are some paragraphs about optimization level of compiler. To control the optimization level of compiler, I put the ‘-O3’ as below. Is this right??
>>> 
>>> CFLAGS       = -O3
>>> FFLAGS       =
>>> CPPFLAGS         =
>>> FPPFLAGS         =
>>>  
>>> app : a1.o a2.o a3.o a4.o
>>>    $(LINK.C) -o $@ $^ $(LDLIBS)
>>>  
>>> include ${PETSC_DIR}/lib/petsc/conf/rules
>>> include ${PETSC_DIR}/lib/petsc/conf/test
>> 
>> You could dp this, but that only changes it for that directory. It is best to do it by reconfiguring.
>>  
>>> 3.     In the guide, user should put ‘-march=native’ for using AVX2 or AVX-512. Where should I put the ‘-march=native’ for using AVX?
>>> 
>> You can add --COPTFLAGS="<user flags>" with any flags you want to the configure.
>> 
>>> 4.     After read the “Hint for performance tuning” I understood that for good performance and scalability user should use the multiple node and multiple socket . However, before composing cluster system, many users just can use desktop system. 
>>> In that case, between intel 13th i9 and amd ryzen 7950x, can the 7950x, which has an arichitecture similar to the server processor, be more suitable for petsc? (Because the architecture of intel desktop cpu is big.little.)
>>> 
>> 
>> A good guide is to run the STREAMS benchmark on the processor. PETSc performance closely tracks that.
>> 
>>   Thanks,
>> 
>>      Matt
>>  
>>>  
>>> Thanks,
>>> 
>>> Hyung Kim
>>> 
>> 
>> 
>> -- 
>> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
>> -- Norbert Wiener
>> 
>> https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20230102/f55d2336/attachment-0001.html>


More information about the petsc-users mailing list