<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><br><div><br><blockquote type="cite"><div>On Jan 2, 2023, at 9:27 AM, 김성익 <ksi2443@gmail.com> wrote:</div><br class="Apple-interchange-newline"><div><div dir="ltr">There are more questions.<div><br></div><div>1. Following your comments, but there is an error as below.<br><span id="cid:ii_lcew4skd0"><image.png></span><br></div><div>How can I fix this?</div></div></div></blockquote><div><br></div> 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.</div><div><br><blockquote type="cite"><div><div dir="ltr"><div><br></div><div>2. After changing the optimized build, then how can I set the debug mode again?</div></div></div></blockquote><div><br></div> 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).</div><div><br><blockquote type="cite"><div><div dir="ltr"><div><br></div><div>3.Following your comments, the new makefile is as below. Is it right?</div><div><div style="color: rgb(80, 0, 80); margin: 0cm 0cm 0.0001pt 38pt; line-height: normal; text-align: justify; font-size: 10pt; font-family: "맑은 고딕";"><span lang="EN-US">CFLAGS = -O3</span></div><div style="color: rgb(80, 0, 80); margin: 0cm 0cm 0.0001pt 38pt; line-height: normal; text-align: justify; font-size: 10pt; font-family: "맑은 고딕";"><span lang="EN-US">FFLAGS =</span></div><div style="color: rgb(80, 0, 80); margin: 0cm 0cm 0.0001pt 38pt; line-height: normal; text-align: justify; font-size: 10pt; font-family: "맑은 고딕";"><span lang="EN-US">CPPFLAGS =</span></div><div style="color: rgb(80, 0, 80); margin: 0cm 0cm 0.0001pt 38pt; line-height: normal; text-align: justify; font-size: 10pt; font-family: "맑은 고딕";"><span lang="EN-US">FPPFLAGS =</span></div><div style="color: rgb(80, 0, 80); margin: 0cm 0cm 0.0001pt 38pt; line-height: normal; text-align: justify; font-size: 10pt; font-family: "맑은 고딕";"><span lang="EN-US">COPTFLAGS = -march=native</span></div><p style="color:rgb(80,0,80);margin:0cm 0cm 0.0001pt 38pt;line-height:normal;text-align:justify;font-size:10pt;font-family:"\00b9d1\00c740 \00ace0\00b515""><span lang="EN-US"> </span></p><div style="color: rgb(80, 0, 80); margin: 0cm 0cm 0.0001pt 38pt; line-height: normal; text-align: justify; font-size: 10pt; font-family: "맑은 고딕";"><span lang="EN-US">app : a1.o a2.o a3.o a4.o</span></div><div style="color: rgb(80, 0, 80); margin: 0cm 0cm 0.0001pt 38pt; line-height: normal; text-align: justify; font-size: 10pt; font-family: "맑은 고딕";"><span lang="EN-US"> $(LINK.C) -o $@ $^ $(LDLIBS)</span></div><p style="color:rgb(80,0,80);margin:0cm 0cm 0.0001pt 38pt;line-height:normal;text-align:justify;font-size:10pt;font-family:"\00b9d1\00c740 \00ace0\00b515""><span lang="EN-US"> </span></p><div style="color: rgb(80, 0, 80); margin: 0cm 0cm 0.0001pt 38pt; line-height: normal; text-align: justify; font-size: 10pt; font-family: "맑은 고딕";"><span lang="EN-US">include ${PETSC_DIR}/lib/petsc/conf/rules</span></div><div style="color: rgb(80, 0, 80); margin: 0cm 0cm 0.0001pt 38pt; line-height: normal; text-align: justify; font-size: 10pt; font-family: "맑은 고딕";"><span lang="EN-US">include ${PETSC_DIR}/lib/petsc/conf/test</span></div></div></div></div></blockquote><div><br></div>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"</div><div><br><blockquote type="cite"><div><div dir="ltr"><div><br></div><div><br></div><div>4. I have no such processors. Where can I find benchmark information about STREAMS?</div></div></div></blockquote><div><br></div> do make mpistreams in PETSC_DIR</div><div><br></div><div><br><blockquote type="cite"><div><div dir="ltr"><div><br></div><div><br></div><div>Thanks, </div><div>Hyung Kim</div><div><br><div style="color: rgb(80, 0, 80); margin: 0cm 0cm 0.0001pt 38pt; line-height: normal; text-align: justify; font-size: 10pt; font-family: "맑은 고딕";"><br></div><div style="color: rgb(80, 0, 80); margin: 0cm 0cm 0.0001pt 38pt; line-height: normal; text-align: justify; font-size: 10pt; font-family: "맑은 고딕";"><br></div><div style="color: rgb(80, 0, 80); margin: 0cm 0cm 0.0001pt 38pt; line-height: normal; text-align: justify; font-size: 10pt; font-family: "맑은 고딕";"><br></div><div style="color: rgb(80, 0, 80); margin: 0cm 0cm 0.0001pt 38pt; line-height: normal; text-align: justify; font-size: 10pt; font-family: "맑은 고딕";"><br></div><div style="color: rgb(80, 0, 80); margin: 0cm 0cm 0.0001pt 38pt; line-height: normal; text-align: justify; font-size: 10pt; font-family: "맑은 고딕";"><br></div><div style="color: rgb(80, 0, 80); margin: 0cm 0cm 0.0001pt 38pt; line-height: normal; text-align: justify; font-size: 10pt; font-family: "맑은 고딕";"><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">2023년 1월 2일 (월) 오후 11:03, Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>>님이 작성:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">On Mon, Jan 2, 2023 at 4:16 AM 김성익 <<a href="mailto:ksi2443@gmail.com" target="_blank">ksi2443@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><p class="MsoNormal" style="margin:0cm 0cm 8pt;text-align:justify;line-height:107%;font-size:10pt;font-family:"\00b9d1\00c740 \00ace0\00b515""><span lang="EN-US">Hello, </span></p><p class="MsoNormal" style="margin:0cm 0cm 8pt;text-align:justify;line-height:107%;font-size:10pt;font-family:"\00b9d1\00c740 \00ace0\00b515""><span lang="EN-US">Happy new year!!</span></p><div style="margin: 0cm 0cm 8pt; text-align: justify; line-height: 107%; font-size: 10pt; font-family: "맑은 고딕";"><span lang="EN-US"> </span><br class="webkit-block-placeholder"></div><p class="MsoNormal" style="margin:0cm 0cm 8pt;text-align:justify;line-height:107%;font-size:10pt;font-family:"\00b9d1\00c740 \00ace0\00b515""><span lang="EN-US">I have some questions about “Hint for
performance tuning” in user guide of petsc.</span></p><div style="margin: 0cm 0cm 8pt; text-align: justify; line-height: 107%; font-size: 10pt; font-family: "맑은 고딕";"><span lang="EN-US"> </span><br class="webkit-block-placeholder"></div><p style="margin:0cm 0cm 8pt 38pt;text-align:justify;line-height:107%;font-size:10pt;font-family:"\00b9d1\00c740 \00ace0\00b515""><span lang="EN-US">1.<span style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman"">
</span></span><span lang="EN-US">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?</span></p></div></blockquote><div>Suppose your current arch is named "arch-main-debug". Then you can make an optimized version using</div><div><br></div><div> cd $PETSC_DIR</div><div> ./arch-main-debug/lib/petsc/conf/reconfigure-arch-main-debug.py --with-debugging=0 --PETSC_ARCH=arch-main-opt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><p style="margin:0cm 0cm 8pt 38pt;text-align:justify;line-height:107%;font-size:10pt;font-family:"\00b9d1\00c740 \00ace0\00b515""><span lang="EN-US">2.<span style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman"">
</span></span><span lang="EN-US">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??</span></p>
<table border="1" cellspacing="0" cellpadding="0" style="margin-left:38pt;border-collapse:collapse;border:none">
<tbody><tr>
<td width="601" valign="top" style="width:450.8pt;border:1pt solid windowtext;padding:0cm 5.4pt"><div style="margin: 0cm 0cm 0.0001pt 38pt; line-height: normal; text-align: justify; font-size: 10pt; font-family: "맑은 고딕";"><span lang="EN-US">CFLAGS = -O3</span></div><div style="margin: 0cm 0cm 0.0001pt 38pt; line-height: normal; text-align: justify; font-size: 10pt; font-family: "맑은 고딕";"><span lang="EN-US">FFLAGS =</span></div><div style="margin: 0cm 0cm 0.0001pt 38pt; line-height: normal; text-align: justify; font-size: 10pt; font-family: "맑은 고딕";"><span lang="EN-US">CPPFLAGS =</span></div><div style="margin: 0cm 0cm 0.0001pt 38pt; line-height: normal; text-align: justify; font-size: 10pt; font-family: "맑은 고딕";"><span lang="EN-US">FPPFLAGS =</span></div><p style="margin:0cm 0cm 0.0001pt 38pt;line-height:normal;text-align:justify;font-size:10pt;font-family:"\00b9d1\00c740 \00ace0\00b515""><span lang="EN-US"> </span></p><div style="margin: 0cm 0cm 0.0001pt 38pt; line-height: normal; text-align: justify; font-size: 10pt; font-family: "맑은 고딕";"><span lang="EN-US">app :
a1.o a2.o a3.o a4.o</span></div><div style="margin: 0cm 0cm 0.0001pt 38pt; line-height: normal; text-align: justify; font-size: 10pt; font-family: "맑은 고딕";"><span lang="EN-US"> $(LINK.C) -o $@ $^ $(LDLIBS)</span></div><p style="margin:0cm 0cm 0.0001pt 38pt;line-height:normal;text-align:justify;font-size:10pt;font-family:"\00b9d1\00c740 \00ace0\00b515""><span lang="EN-US"> </span></p><div style="margin: 0cm 0cm 0.0001pt 38pt; line-height: normal; text-align: justify; font-size: 10pt; font-family: "맑은 고딕";"><span lang="EN-US">include
${PETSC_DIR}/lib/petsc/conf/rules</span></div><div style="margin: 0cm 0cm 0.0001pt 38pt; line-height: normal; text-align: justify; font-size: 10pt; font-family: "맑은 고딕";"><span lang="EN-US">include
${PETSC_DIR}/lib/petsc/conf/test</span></div></td></tr></tbody></table></div></blockquote><div><br></div><div>You could dp this, but that only changes it for that directory. It is best to do it by reconfiguring.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><p style="margin:0cm 0cm 8pt 38pt;text-align:justify;line-height:107%;font-size:10pt;font-family:"\00b9d1\00c740 \00ace0\00b515""><span lang="EN-US">3.<span style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman"">
</span></span><span lang="EN-US">In the guide, user should put ‘-march=native’
for using AVX2 or AVX-512. Where should I put the ‘-march=native’ for using AVX?</span></p></div></blockquote><div>You can add --COPTFLAGS="<user flags>" with any flags you want to the configure.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><p style="margin:0cm 0cm 8pt 38pt;text-align:justify;line-height:107%;font-size:10pt;font-family:"\00b9d1\00c740 \00ace0\00b515""><span lang="EN-US">4.<span style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:"Times New Roman"">
</span></span><span lang="EN-US">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. <br>
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.)</span></p></div></blockquote><div><br></div><div>A good guide is to run the STREAMS benchmark on the processor. PETSc performance closely tracks that.</div><div><br></div><div> Thanks,</div><div><br></div><div> Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="margin: 0cm 0cm 8pt 38pt; text-align: justify; line-height: 107%; font-size: 10pt; font-family: "맑은 고딕";"><span style="font-size:10pt"> </span><br class="webkit-block-placeholder"></div><p class="MsoNormal" style="margin:0cm 0cm 8pt;text-align:justify;line-height:107%;font-size:10pt;font-family:"\00b9d1\00c740 \00ace0\00b515""><span lang="EN-US">Thanks,</span></p><p class="MsoNormal" style="margin:0cm 0cm 8pt;text-align:justify;line-height:107%;font-size:10pt;font-family:"\00b9d1\00c740 \00ace0\00b515""><span lang="EN-US">Hyung Kim</span></p></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>
</blockquote></div>
</div></blockquote></div><br></body></html>