<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof" style="font-family: Consolas, Courier, monospace; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<span style="font-family: Consolas, Courier, monospace; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">In Xolotl's feature-petsc-kokkos branch I have ported the code to use petsc's COO interface for creating the Jacobian matrix
(and the Kokkos interface for interacting with Vec entries). As the attached plots show for one case, while the code for computing the RHSFunction and RHSJacobian perform similarly (or slightly better) after the port, the performance for the solve as a whole
is significantly worse.</span></div>
<div class="elementToProof" style="font-family: Consolas, Courier, monospace; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<span style="font-family: Consolas, Courier, monospace; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"><br>
</span></div>
<div class="elementToProof" style="font-family: Consolas, Courier, monospace; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<span style="font-family: Consolas, Courier, monospace; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">Note:</span></div>
<div class="elementToProof" style="font-family: Consolas, Courier, monospace; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<span style="font-family: Consolas, Courier, monospace; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">This is all CPU-only (so kokkos and kokkos-kernels are built with only the serial backend).<br>
</span></div>
<div class="elementToProof" style="font-family: Consolas, Courier, monospace; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<span style="font-family: Consolas, Courier, monospace; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">The dev version is using MatSetValuesStencil with the default implementations for Mat and Vec.</span></div>
<div class="elementToProof" style="font-family: Consolas, Courier, monospace; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<span style="font-family: Consolas, Courier, monospace; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">The port version is using MatSetValuesCOO and is run with
<code>-dm_mat_type aijkokkos -dm_vec_type kokkos</code>.<br>
</span></div>
<div class="elementToProof" style="font-family: Consolas, Courier, monospace; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<span style="font-family: Consolas, Courier, monospace; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">The port/def version is using MatSetValuesCOO and is run with
<code>-dm_vec_type kokkos</code> (using the default Mat implementation).<br>
</span></div>
<div class="elementToProof">
<div style="font-family: Consolas, Courier, monospace; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Consolas, Courier, monospace; font-size: 12pt; color: rgb(0, 0, 0);">
So, this seems to be due be a performance difference in the petsc implementations. Please advise. Is this a known issue? Or am I missing something?</div>
<div style="font-family: Consolas, Courier, monospace; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Consolas, Courier, monospace; font-size: 12pt; color: rgb(0, 0, 0);">
Thank you for the help,<br>
</div>
<div style="font-family: Consolas, Courier, monospace; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id="Signature">
<div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<span style="font-size:11pt"><strong>Philip Fackler<br>
</strong></span></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<div><span style="font-size:11pt">Research Software Engineer, Application Engineering Group</span></div>
<div><span style="font-size:11pt">Advanced Computing Systems Research Section</span></div>
<div><span style="font-size:11pt">Computer Science and Mathematics Division<br>
</span></div>
<div><span style="font-size:11pt"><strong>Oak Ridge National Laboratory</strong></span><span style="font-size:11pt"></span><br>
</div>
</div>
</div>
</div>
</div>
</body>
</html>