<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://crtc.cs.odu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pthomadakis</id>
		<title>crtc.cs.odu.edu - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://crtc.cs.odu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pthomadakis"/>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/Special:Contributions/Pthomadakis"/>
		<updated>2026-05-22T11:14:41Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.29.1</generator>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=PDR.PODM_Distributed_Memory&amp;diff=9083</id>
		<title>PDR.PODM Distributed Memory</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=PDR.PODM_Distributed_Memory&amp;diff=9083"/>
				<updated>2023-05-19T14:49:33Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* Latest Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Issues ===&lt;br /&gt;
* No reuse of leaves refined by worker nodes. The picture below shows the issue. Two neighbour leaves (0,1) each refined as the main leaf (0 top, 1 bottom) but not refined as a neighor.&lt;br /&gt;
[[File:PDR_PODM_Leaves_not_refined.png| 700px]]&lt;br /&gt;
* Current algorithm uses neighbour traversal to distribute cells to octree leaving some cells out in some cases. Such a case can happen when a cell is part of an octree leaf based on its circumcenter but &lt;br /&gt;
it does not have any neighbour in the same leaf.&lt;br /&gt;
&lt;br /&gt;
[[File:PDR_PODM_Cells_not_distributed.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
* During unpacking the incident cell for each vertex is not set correctly. Specifically, in the case that the initial incident cell is not part of the working unit (Leaf + LVL.1 Neighbours) and thus is not local,&lt;br /&gt;
it is set to the infinite cell. This causes PODM to crash randomly for some cases.&lt;br /&gt;
&lt;br /&gt;
* Another issue comes from the way global IDs are updated for each cell's neighbors' IDs. The code that updates the cell's connectivity using global IDs takes the neighbor's pointer, retrieves its global ID and&lt;br /&gt;
updates the neighborID field. However, when the neighbour is part of another work unit's leaf and is not local this pointer is NULL. In this case the neighborID field is wrongly reset to the infinite cell ID, which &lt;br /&gt;
as result, deletes the connectivity information forever.&lt;br /&gt;
&lt;br /&gt;
* The function that unpacks the required leaves before refinement does not discard duplicate vertices. Duplicate vertices will always be present since each leaf is packed and sent individually, and as a result,&lt;br /&gt;
neighbouring leaves will include the shared vertices. Because duplicate vertices are not handled, multiple vertex objects are created that are in fact the same point geometrically. Thus, two cells that share&lt;br /&gt;
a common vertex could have pointers to two different vertex objects and, as a result, each cell views a different state about the same vertex.&lt;br /&gt;
&lt;br /&gt;
=== Fixes ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR_Fix.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Work_Unit_After_Refinement.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Interesting Findings =&lt;br /&gt;
== Delta 0.880 ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 d3.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 15 d3.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Parallelism.png| 700px]]&lt;br /&gt;
[[File:PDR_PODM_Histogram_15.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 15.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks / 40 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total Time: 824.29&lt;br /&gt;
&lt;br /&gt;
Total Tasks: 11413&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 40.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 40.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks / 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total Time: 378.32&lt;br /&gt;
&lt;br /&gt;
Total Tasks: 12652&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 160 10.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15_d3.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 569.7&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8761&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 326.5&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11201&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 40 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 264.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12826&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_160_10.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer and leaf distribution ==&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 452.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8813&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 271.9&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11455&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 40 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 218.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12517&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer, leaf distribution and extra comm thread ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 1144.7&lt;br /&gt;
&lt;br /&gt;
Total tasks: 1830&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 15 d3 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15_d3.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 354.6&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8892&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 15 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 208.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11468&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 40 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 202.2&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12715&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_160_10.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Delta 0.3780 ==&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time small_delta 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks small_delta 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down small_delta 15.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Latest Results ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Shared MemoryTimes&lt;br /&gt;
|-&lt;br /&gt;
! Cores !! Total Time (s) !! Number of Elements&lt;br /&gt;
|-&lt;br /&gt;
| 40|| 90.8 || 49453719&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ MPI Times&lt;br /&gt;
|-&lt;br /&gt;
!       !! colspan=2 | MPI                      !! colspan=2 | PREMA &lt;br /&gt;
|-&lt;br /&gt;
! Cores !! Total Time (s) !! Number of Elements !! Total Time (s) !! Number of Elements&lt;br /&gt;
|-&lt;br /&gt;
| 100 || 1151.472406|| 49352359 || 208.746450 || 49347855&lt;br /&gt;
|-&lt;br /&gt;
| 200 || 763.70671 || 49357898 || 121.326012 || 49353442&lt;br /&gt;
|-&lt;br /&gt;
| 300 || 537.678638 || 49357092 || 105.812248 || 49351224&lt;br /&gt;
|-&lt;br /&gt;
| 400 || 490.365970 || 49357881 || 93.101481 || 49351626&lt;br /&gt;
|-&lt;br /&gt;
| 500 || 434.921334 || 49347357 || 93.119187 || 49351049&lt;br /&gt;
|-&lt;br /&gt;
| 600 || 466.822803 || 49361647 || 96.243807 || 49345030&lt;br /&gt;
|-&lt;br /&gt;
| 700 || 425.273205 || 49360615 || 97.721654 || 49346798&lt;br /&gt;
|-&lt;br /&gt;
| 800 || 434.638603 || 49349629 || 96.723318 || 49341034&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:PDR.png]]&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=Main_Page&amp;diff=9068</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=Main_Page&amp;diff=9068"/>
				<updated>2023-05-16T14:04:56Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* Congratulations to Dr. Thomadakis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Thanksgiving lunch 2019.jpg|600px|thumb|frameless|center| Chrisochoides' Real-Time Computing (or in short CRTC) group before the pandemic.]]&lt;br /&gt;
&lt;br /&gt;
== Announcements == &lt;br /&gt;
&lt;br /&gt;
=== Congratulations to Dr. Thomadakis===&lt;br /&gt;
[[File:Polykarpos-Grad.jpeg|200px|left]] &lt;br /&gt;
Congratulations to Dr. Thomadakis for his impressive Ph.D. work on parallel intelligent runtime software systems for HPC adaptive and irregular applications and Domain-Specific Languages.&lt;br /&gt;
&lt;br /&gt;
The AI part of his PhD work ([https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=De-noising%20drift%20chambers%20in%20CLAS12%20using%20convolutional%20auto%20encoders&amp;amp;paper_type=2&amp;amp;from=year] [https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=Using%20Machine%20Learning%20for%20Particle%20Track%20Identification%20in%20the%20CLAS12%20Detector&amp;amp;paper_type=2&amp;amp;from=year] [https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=Track%20Identification%20for%20CLAS12%20using%20Artificial%20Intelligence&amp;amp;paper_type=1&amp;amp;from=year]) was completed in collaboration with [https://www.linkedin.com/in/gagik-gavalian-55926725/ Dr. Gagik Gavalian] from [https://www.jlab.org/ Jefferson Lab] and other former members of the [https://crtc.cs.odu.edu/Main_Page CRTC], including current member Kevin Garner. Some of the findings from his research is projected to have a significant impact over the next decade, with a value of approximately $100 million. &lt;br /&gt;
&lt;br /&gt;
These results were confirmed by Nuclear Physicists in a [https://www.odu.edu/article/ai-collaboration-between-odu-jefferson-lab-improves-data-analysis recent article], and Dr. Gavalian presented the findings in [https://indico.jlab.org/event/459/contributions/11745/attachments/9491/13757/CHEP-05-2023-Gavalian.pdf CHEP'23]. [https://www.odu.edu/directory/lawrence-weinstein Dr. Lawrence Weinstein], an ODU Eminent Scholar, professor of physics, and past chair of the Jefferson Lab Users Organization, acknowledged in a recent article ([https://www.odu.edu/article/ai-collaboration-between-odu-jefferson-lab-improves-data-analysis]) that the project has improved particle trajectory reconstruction, resulting in a 35% increase in the number of reconstructed complicated nuclear collisions. This means that &amp;quot;more physics from the same data&amp;quot; is possible, which would have otherwise cost about $5 million per year. Dr. Gavalian's new results show that there has been an increase in statistics for physics observables from 35% to  approximately 50-80% by adding the AI-based denoising ([https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=De-noising%20drift%20chambers%20in%20CLAS12%20using%20convolutional%20auto%20encoders&amp;amp;paper_type=2&amp;amp;from=year] )of the data in the workflow.&lt;br /&gt;
&lt;br /&gt;
Next, Dr. Gagik will be looking into applying lessons learned to other Jefferson Lab Halls (sensors) and we will be putting this AI work on “steroids” using scalable D-NISQ Quantum Machine Learning. Our preliminary results ([https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=Evaluation%20of%20Scalable%20Quantum%20and%20Classical%20Machine%20Learning%20for%20Particle%20Tracking%20Classification%20in%20Nuclear%20Physics&amp;amp;paper_type=1&amp;amp;from=year] [https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=Scalable%20Quantum%20Edge%20Detection%20Method%20for%20D-NISQ%20Imaging%20Simulations:%20Use%20Cases%20from%20Nuclear%20Physics%20and%20Medical%20Image%20Computing&amp;amp;paper_type=1&amp;amp;from=year]) in Quantum Computing indicate that this is feasible.&lt;br /&gt;
&lt;br /&gt;
These accomplishments would not have been possible without the small investment from Jefferson Lab ($100K) and the Richard T. Cheng Endowment ($50K), as well as the help of many others, including the Dragas Foundation, which has assisted Olga Karadimou, an exceptional Ph.D. student at ODU, in staying at ODU with Polykarpos.&lt;br /&gt;
&lt;br /&gt;
=== Protein-to-Protein Interactions ===&lt;br /&gt;
Progress on protein-to-protein interactions using geometric feature analysis:  [[COVID-19]].&lt;br /&gt;
&lt;br /&gt;
A slideshows of Molecular Geometric Feature Analysis for SARS-CoV-2:  click [[Molecular Geometric Feature Analysis | here]].&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Finite Element (FE) mesh generation is a critical component for many (bio-)engineering and science applications. CRTCLab is developing a novel framework for highly scalable and energy-efficient high-quality mesh generation for the Finite Element Analysis in three and four dimensions. CRTC effort and focus is on research activities that combine domain-and application-speciﬁc knowledge with run-time system support to improve energy efficiency and scalability of parallel FE mesh generation codes. Traditionally, parallel FE mesh generation methods and software are developed without considering the architectural features of the supercomputer platforms on which they are eventually used for production. The main reason is the complexity of sequential, and moreover parallel, mesh generation algorithms. As a result, it is too expensive, in terms of labor and time, to customize the performance of parallel mesh generation software for speciﬁc supercomputing architectures.  CRTC’s basic research is funded from NSF, NASA, NRA, total $2M and target  (bio-)engineering applications are: [[#Extreme-Scale_Parallel_Mesh_Generation_&amp;amp;_Adaptation | Aerospace Industry Applications]] and [[#Medical_Image_Computing | Health Care Industry Applications]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
'''&amp;lt;big&amp;gt;Principles for Building Practical and Scalable Domain-Specific Environment:  Adaptive Data-Driven Mesh Generation for Modeling &amp;amp; Simulations&amp;lt;/big&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
[[File:Adaptivity PPoSS.png|thumb|center|600px| This graph indicates the core enabling technologies we develop at CRTC: (i) Adaptive Tessellation Techniques: Theory and Systems and the corresponding and (ii) Parallel Runtime Software Systems required to run on current and emerging Supercomputers. The pictures around indicate the five main applications we target from left to right: (a) Computational Fluid Dynamics, (b) Numerical Flow Simulations used to Predict Flow Diversion Treatment Efficacy of Cerebral Aneurysms,  (c) Trauma Brain Injuries,  (d) Physic Based Adaptive Deformable Registration used in Image-Guided Neurosurgery, and (e) Imaging for Nuclear Femtography with our collaborators: from NASA/LARC, Stony Brook Medical School, Navy Research Lab, Harvard Medical School, and Physics and Jefferson Lab, respectively. The common denominator for all these applications is adaptive parallel tessellation ( or known in the science and engineering community as mesh generation or image-to-mesh conversion). Parallel mesh generation is &amp;quot;a new research area between the boundaries of two [https://en.wikipedia.org/wiki/Scientific_computing scientific computing] disciplines: [https://en.wikipedia.org/wiki/Computational_geometry computational geometry] and [https://en.wikipedia.org/wiki/Parallel_computing parallel computing]&amp;quot; [https://en.wikipedia.org/wiki/Parallel_mesh_generation]. The applications are listed (left to right) with respect to interactions of input form Computer-Aided Design to Sensor data like MRI, US, etc.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Broader Impact'''&lt;br /&gt;
The proposed activity will have a signiﬁcant and broader impact on research and education, well beyond the bounds of this speciﬁc project and its external collaborators. Other than the direct impact to parallel unstructured mesh generation and runtime systems for supercomputers like Blue Waters, this project will beneﬁt the performance evaluation community. This project will also promote the understanding on CerebroVascular Disease (CVD, or stroke), Image Guided Surgery for Caner, and DBS for Parkisons disease,  all of which are leading natural death causes in the US. &lt;br /&gt;
&lt;br /&gt;
'''Intellectual Merit'''&lt;br /&gt;
The Intellectual Merit of this project is summarized in terms of three novel contributions: (1) an understanding of the complex computation, communication, and memory utilization patterns in a telescopic superposition of multiple parallel mesh generation codes, (2) new abstractions to efficiently throttle concurrency and to implement race-to-halt execution models at multiple levels of granularity, while orchestrating intra-and inter-layer memory management, data movement, and load balancing to improve energy-efficiency of memory and interconnect components, and (3) a novel approach to leveraging off-the-shelf and state-of-the-art low core meshing codes for highly parallel simulations.&lt;br /&gt;
&lt;br /&gt;
== Extreme-Scale Adaptive/Anisotropic  Parallel Mesh Generation ==&lt;br /&gt;
&amp;lt;gallery heights=300px widths=300px mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
File:telescopic_and_meshes.jpg&lt;br /&gt;
File:CDT3D slide rocket nacelle.jpg ‎&lt;br /&gt;
File:Dlr airbus.jpg&lt;br /&gt;
File:Scitech 2019 delta wing.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=200px widths=200px mode=&amp;quot;packed-hover&amp;quot; caption=&amp;quot;CDT3D Meshes using speculative execution model at the chip level&amp;quot;&amp;gt;&lt;br /&gt;
File:CDT3D.jpg|130px|CDT3D Mesh&lt;br /&gt;
File:Rocket_Mesh.jpg|130px|DLR-F6 Airbus &lt;br /&gt;
File:Output_grid.jpg|130px|Rocket with Engine Mesh&lt;br /&gt;
|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
||||'''CDT3D Meshes using speculative execution model at the chip level'''&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Finite Element Mesh Generation is a critical component for many (bio-) engineering and science applications. The goal of this project is to deliver a novel Telescopic framework for highly scalable and energy efficient codes.  Domain-and application-specific knowledge and run-time system support are combined to improve accuracy of FE computations. &lt;br /&gt;
&lt;br /&gt;
CRTCLab addresses in depth two pillars: (i) high performance computing software runtime systems and (ii) mesh generation &amp;amp; adaptation based on error-metrics for NASA’s Computational Fluid Dynamics (CFD) Vision 2030. Specifically, CRTC’s focus is on the following three objectives: (1) design a multi-layered algorithmic and software framework for 3D tetrahedral anisotropic parallel mesh generation using state-of-the-art functionality supported by algorithms from AFLR and CRTC’s telescopic approach for parallel mesh generation , (2) develop error-based metrics adaptive anisotropic FE mesh generation methods and (3) design a power-aware parallel runtime software system for extreme-scale adaptive CFD computations including: (i) mesh generation &amp;amp; adaptation, and (ii) consistent error-based metrics for adaptation of any CFD discretizations with localizable error estimates. &amp;lt;u&amp;gt; This is a joined project with NASA/LaRC and MIT. &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: SubGroup1.jpg|thumb|right|500px| '''CRTC's sub-group for Extreme Scale Parallel Mesh Generation &amp;amp; Adaptation, from left to right: Nikos Chrisochoides, Kevin Garner, Dana Hammond (former TM from NASA/LaRC), Christos Tsolakis and Polykarpos Thomadakis. ''']]&lt;br /&gt;
We  have  assembled  a  team  of  established  leaders  (see [https://cepm.cs.odu.edu/People#External_Collaborators External Collaborators]) that are currently developing state-of-the-art work  on mesh generation and adaptivity issues  relevant  to NASA’s CFD 2030 Vision and will broadly impact end-user productivity of users throughout DoD and NASA.&lt;br /&gt;
&lt;br /&gt;
'''Objectives'''&lt;br /&gt;
:# Design  a  multi-layered  algorithmic  and  software  framework  for  3D  tetrahedral anisotropic parallel mesh generation methods using state-of-the-art functionality supported by methods implemented in AFLR and CRTC’s telescopic approach for parallel mesh generation.&lt;br /&gt;
:# Development of error-based metrics to drive an anisotropic adaptive process&lt;br /&gt;
:# Design a power-aware parallel runtime software system for extreme-scale adaptive CFD computations including:  (i) mesh generation  &amp;amp; adaptation,  and  (ii) consistent error-based  metrics  for adaptation of any CFD discretization with localizable error estimates.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Real-time Adaptive Mesh Generation in Medical Image Computing ==&lt;br /&gt;
&lt;br /&gt;
This application is using adaptive (isotropic) mesh refinement to improve (in real-time in the context of image-guided neurosurgery) the accuracy of 3D Physics-Based Deformable Registration of intra-operative MRI with pre-operative MRI. &lt;br /&gt;
&lt;br /&gt;
=== Overview === &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: CT imaging.jpg|thumb|right|500px| '''Deep Brain Stimulation – CT Imaging obtained from Neurosurgical Section of SE PADRECC McGuire VAMC (with VCU)''']]&lt;br /&gt;
:* Develop adaptive deformable registration method for Deep Brain Stimulation (DBS). DBS is an effective palliative therapy for patients suffering from Essential Tremor, Parkinson’s disease, and other neurological movement disorders.  Modern DBS surgery makes use of stereotactic systems and image guidance to accurately place electrode leads, as well as intra-operative imaging to surveil the location of the leads and guide the surgery. The effectiveness of DBS is directly correlated with the accuracy of DBS electrode lead placement, with more accurate electrode placement leading to better clinical outcomes. &amp;lt;u&amp;gt; This project is a joined with VCU, VA. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: Health-care.jpg|thumb|left|500px| '''APBNRR ''']]&lt;br /&gt;
:* Develop a new Adaptive Physics-Based Non-Rigid Registration (APBNRR) method developed for image guided brain tumor resection.  Existing evaluation indicates that the  the registration accuracy and performance of APBNRR are proved sufficient to be of clinical value in the operating room. Malignant gliomas are the most common primary and metastatic brain tumors. Treatment typically includes surgical removal followed by radiotherapy or chemotherapy. Total resection is difficult to achieve during tumor removal because of the infiltrative nature of gliomas and because brain tumors are often embedded in critical functional brain tissue. In image-guided neurosurgery, co-registered pre-operative anatomical, functional, and diffusion tensor imaging can be used to facilitate a maximally safe resection of brain tumors in certain areas of the brain. However, because the brain can deform significantly during surgery, particularly in the presence of tumor resection, non-rigid registration of the preoperative image data to the patient is required. &amp;lt;u&amp;gt; This is a joined project with Harvard Medical School, MA. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: ExtremeScale.jpg|thumb|right|500px| '''Images created by the I2M tool using the CBC3D Method''']]&lt;br /&gt;
:* Test five new available (in the clinic) neurovascular devices that have not been compared before through angiographic washout analysis and accurate micro CT-based tessellation (i.e., mesh or grid reconstruction) and CFD analysis in idealized sidewall aneurysm models. The CFD simulations and angiographic washout analysis will be performed on flow diverter implantations in actual patient geometries. There is a need for robust and easy-to-use Image-to-Mesh (I2M) conversion methods and software that streamline the discretization of such complex vascular geometries with fine structures with the CFD modeling process. In this project we will focus on the development and validation of fully functional I2M conversion algorithms and software (i.e., tools) for complex vascular geometries with fine structures like stents. &amp;lt;u&amp;gt; This is a joined project with Medical School at Stony Brook University, NY. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=Main_Page&amp;diff=9037</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=Main_Page&amp;diff=9037"/>
				<updated>2023-05-12T12:51:47Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* COVID-19 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Thanksgiving lunch 2019.jpg|600px|thumb|frameless|center| Chrisochoides' Real-Time Computing (or in short CRTC) group before the pandemic.]]&lt;br /&gt;
&lt;br /&gt;
== Announcements == &lt;br /&gt;
&lt;br /&gt;
=== Congratulations to Dr. Thomadakis===&lt;br /&gt;
[[File:Polykarpos-Grad.jpeg|200px|left]] &lt;br /&gt;
I want to offer congratulations to Dr. Thomadakis for his impressive Ph.D. work and for defending and officially completing all his Ph.D. requirements, today! &lt;br /&gt;
&lt;br /&gt;
The AI part of his PhD work ([https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=De-noising%20drift%20chambers%20in%20CLAS12%20using%20convolutional%20auto%20encoders&amp;amp;paper_type=2&amp;amp;from=year] [https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=Using%20Machine%20Learning%20for%20Particle%20Track%20Identification%20in%20the%20CLAS12%20Detector&amp;amp;paper_type=2&amp;amp;from=year] [https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=Track%20Identification%20for%20CLAS12%20using%20Artificial%20Intelligence&amp;amp;paper_type=1&amp;amp;from=year]) was completed in collaboration with [https://www.linkedin.com/in/gagik-gavalian-55926725/ Dr. Gagik Gavalian] from [https://www.jlab.org/ Jefferson Lab] and other former members of the [https://crtc.cs.odu.edu/Main_Page CRTC], including current member Kevin Garner. Some of the findings from his research is projected to have a significant impact over the next decade, with a value of approximately $100 million. &lt;br /&gt;
&lt;br /&gt;
These results were confirmed by Nuclear Physicists in a [https://www.odu.edu/article/ai-collaboration-between-odu-jefferson-lab-improves-data-analysis recent article], and Dr. Gavalian presented the findings in [https://indico.jlab.org/event/459/contributions/11745/attachments/9491/13757/CHEP-05-2023-Gavalian.pdf CHEP'23]. [https://www.odu.edu/directory/lawrence-weinstein Dr. Lawrence Weinstein], an ODU Eminent Scholar, professor of physics, and past chair of the Jefferson Lab Users Organization, acknowledged that the project has improved particle trajectory reconstruction, resulting in a 35% increase in the number of reconstructed complicated nuclear collisions. This means that &amp;quot;more physics from the same data&amp;quot; is possible, which would have otherwise cost about $5 million per year. Dr. Gavalian's new results show that there has been an increase in statistics for physics observables of approximately 50-80%. &lt;br /&gt;
&lt;br /&gt;
Next, Dr. Gagik will be looking into applying lessons learned to other Jefferson Lab Halls (sensors) and we will be putting this AI work in “steroids” using Quantum Machine Learning. Our preliminary results ([https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=Evaluation%20of%20Scalable%20Quantum%20and%20Classical%20Machine%20Learning%20for%20Particle%20Tracking%20Classification%20in%20Nuclear%20Physics&amp;amp;paper_type=1&amp;amp;from=year] [https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=Scalable%20Quantum%20Edge%20Detection%20Method%20for%20D-NISQ%20Imaging%20Simulations:%20Use%20Cases%20from%20Nuclear%20Physics%20and%20Medical%20Image%20Computing&amp;amp;paper_type=1&amp;amp;from=year]) in Quantum Computing indicate that this is feasible.&lt;br /&gt;
&lt;br /&gt;
These accomplishments would not have been possible without the small investment from Jefferson Lab ($100K) and the Richard T. Cheng Endowment ($50K), as well as the help of many others, including the Dragas Foundation, which has assisted Olga Karadimou, an exceptional Ph.D. student at ODU, in staying at ODU with Polykarpos.&lt;br /&gt;
&lt;br /&gt;
=== COVID-19 ===&lt;br /&gt;
Check our work on [[COVID-19]].&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Finite Element (FE) mesh generation is a critical component for many (bio-)engineering and science applications. CRTCLab is developing a novel framework for highly scalable and energy-efficient high-quality mesh generation for the Finite Element Analysis in three and four dimensions. CRTC effort and focus is on research activities that combine domain-and application-speciﬁc knowledge with run-time system support to improve energy efficiency and scalability of parallel FE mesh generation codes. Traditionally, parallel FE mesh generation methods and software are developed without considering the architectural features of the supercomputer platforms on which they are eventually used for production. The main reason is the complexity of sequential, and moreover parallel, mesh generation algorithms. As a result, it is too expensive, in terms of labor and time, to customize the performance of parallel mesh generation software for speciﬁc supercomputing architectures.  CRTC’s basic research is funded from NSF, NASA, NRA, total $2M and target  (bio-)engineering applications are: [[#Extreme-Scale_Parallel_Mesh_Generation_&amp;amp;_Adaptation | Aerospace Industry Applications]] and [[#Medical_Image_Computing | Health Care Industry Applications]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
'''&amp;lt;big&amp;gt;Principles for Building Practical and Scalable Domain-Specific Environment:  Adaptive Data-Driven Mesh Generation for Modeling &amp;amp; Simulations&amp;lt;/big&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
[[File:Adaptivity PPoSS.png|thumb|center|600px| This graph indicates the core enabling technologies we develop at CRTC: (i) Adaptive Tessellation Techniques: Theory and Systems and the corresponding and (ii) Parallel Runtime Software Systems required to run on current and emerging Supercomputers. The pictures around indicate the five main applications we target from left to right: (a) Computational Fluid Dynamics, (b) Numerical Flow Simulations used to Predict Flow Diversion Treatment Efficacy of Cerebral Aneurysms,  (c) Trauma Brain Injuries,  (d) Physic Based Adaptive Deformable Registration used in Image-Guided Neurosurgery, and (e) Imaging for Nuclear Femtography with our collaborators: from NASA/LARC, Stony Brook Medical School, Navy Research Lab, Harvard Medical School, and Physics and Jefferson Lab, respectively. The common denominator for all these applications is adaptive parallel tessellation ( or known in the science and engineering community as mesh generation or image-to-mesh conversion). Parallel mesh generation is &amp;quot;a new research area between the boundaries of two [https://en.wikipedia.org/wiki/Scientific_computing scientific computing] disciplines: [https://en.wikipedia.org/wiki/Computational_geometry computational geometry] and [https://en.wikipedia.org/wiki/Parallel_computing parallel computing]&amp;quot; [https://en.wikipedia.org/wiki/Parallel_mesh_generation]. The applications are listed (left to right) with respect to interactions of input form Computer-Aided Design to Sensor data like MRI, US, etc.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Broader Impact'''&lt;br /&gt;
The proposed activity will have a signiﬁcant and broader impact on research and education, well beyond the bounds of this speciﬁc project and its external collaborators. Other than the direct impact to parallel unstructured mesh generation and runtime systems for supercomputers like Blue Waters, this project will beneﬁt the performance evaluation community. This project will also promote the understanding on CerebroVascular Disease (CVD, or stroke), Image Guided Surgery for Caner, and DBS for Parkisons disease,  all of which are leading natural death causes in the US. &lt;br /&gt;
&lt;br /&gt;
'''Intellectual Merit'''&lt;br /&gt;
The Intellectual Merit of this project is summarized in terms of three novel contributions: (1) an understanding of the complex computation, communication, and memory utilization patterns in a telescopic superposition of multiple parallel mesh generation codes, (2) new abstractions to efficiently throttle concurrency and to implement race-to-halt execution models at multiple levels of granularity, while orchestrating intra-and inter-layer memory management, data movement, and load balancing to improve energy-efficiency of memory and interconnect components, and (3) a novel approach to leveraging off-the-shelf and state-of-the-art low core meshing codes for highly parallel simulations.&lt;br /&gt;
&lt;br /&gt;
== Extreme-Scale Adaptive/Anisotropic  Parallel Mesh Generation ==&lt;br /&gt;
&amp;lt;gallery heights=300px widths=300px mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
File:telescopic_and_meshes.jpg&lt;br /&gt;
File:CDT3D slide rocket nacelle.jpg ‎&lt;br /&gt;
File:Dlr airbus.jpg&lt;br /&gt;
File:Scitech 2019 delta wing.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=200px widths=200px mode=&amp;quot;packed-hover&amp;quot; caption=&amp;quot;CDT3D Meshes using speculative execution model at the chip level&amp;quot;&amp;gt;&lt;br /&gt;
File:CDT3D.jpg|130px|CDT3D Mesh&lt;br /&gt;
File:Rocket_Mesh.jpg|130px|DLR-F6 Airbus &lt;br /&gt;
File:Output_grid.jpg|130px|Rocket with Engine Mesh&lt;br /&gt;
|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
||||'''CDT3D Meshes using speculative execution model at the chip level'''&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Finite Element Mesh Generation is a critical component for many (bio-) engineering and science applications. The goal of this project is to deliver a novel Telescopic framework for highly scalable and energy efficient codes.  Domain-and application-specific knowledge and run-time system support are combined to improve accuracy of FE computations. &lt;br /&gt;
&lt;br /&gt;
CRTCLab addresses in depth two pillars: (i) high performance computing software runtime systems and (ii) mesh generation &amp;amp; adaptation based on error-metrics for NASA’s Computational Fluid Dynamics (CFD) Vision 2030. Specifically, CRTC’s focus is on the following three objectives: (1) design a multi-layered algorithmic and software framework for 3D tetrahedral anisotropic parallel mesh generation using state-of-the-art functionality supported by algorithms from AFLR and CRTC’s telescopic approach for parallel mesh generation , (2) develop error-based metrics adaptive anisotropic FE mesh generation methods and (3) design a power-aware parallel runtime software system for extreme-scale adaptive CFD computations including: (i) mesh generation &amp;amp; adaptation, and (ii) consistent error-based metrics for adaptation of any CFD discretizations with localizable error estimates. &amp;lt;u&amp;gt; This is a joined project with NASA/LaRC and MIT. &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: SubGroup1.jpg|thumb|right|500px| '''CRTC's sub-group for Extreme Scale Parallel Mesh Generation &amp;amp; Adaptation, from left to right: Nikos Chrisochoides, Kevin Garner, Dana Hammond (former TM from NASA/LaRC), Christos Tsolakis and Polykarpos Thomadakis. ''']]&lt;br /&gt;
We  have  assembled  a  team  of  established  leaders  (see [https://cepm.cs.odu.edu/People#External_Collaborators External Collaborators]) that are currently developing state-of-the-art work  on mesh generation and adaptivity issues  relevant  to NASA’s CFD 2030 Vision and will broadly impact end-user productivity of users throughout DoD and NASA.&lt;br /&gt;
&lt;br /&gt;
'''Objectives'''&lt;br /&gt;
:# Design  a  multi-layered  algorithmic  and  software  framework  for  3D  tetrahedral anisotropic parallel mesh generation methods using state-of-the-art functionality supported by methods implemented in AFLR and CRTC’s telescopic approach for parallel mesh generation.&lt;br /&gt;
:# Development of error-based metrics to drive an anisotropic adaptive process&lt;br /&gt;
:# Design a power-aware parallel runtime software system for extreme-scale adaptive CFD computations including:  (i) mesh generation  &amp;amp; adaptation,  and  (ii) consistent error-based  metrics  for adaptation of any CFD discretization with localizable error estimates.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Real-time Adaptive Mesh Generation in Medical Image Computing ==&lt;br /&gt;
&lt;br /&gt;
This application is using adaptive (isotropic) mesh refinement to improve (in real-time in the context of image-guided neurosurgery) the accuracy of 3D Physics-Based Deformable Registration of intra-operative MRI with pre-operative MRI. &lt;br /&gt;
&lt;br /&gt;
=== Overview === &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: CT imaging.jpg|thumb|right|500px| '''Deep Brain Stimulation – CT Imaging obtained from Neurosurgical Section of SE PADRECC McGuire VAMC (with VCU)''']]&lt;br /&gt;
:* Develop adaptive deformable registration method for Deep Brain Stimulation (DBS). DBS is an effective palliative therapy for patients suffering from Essential Tremor, Parkinson’s disease, and other neurological movement disorders.  Modern DBS surgery makes use of stereotactic systems and image guidance to accurately place electrode leads, as well as intra-operative imaging to surveil the location of the leads and guide the surgery. The effectiveness of DBS is directly correlated with the accuracy of DBS electrode lead placement, with more accurate electrode placement leading to better clinical outcomes. &amp;lt;u&amp;gt; This project is a joined with VCU, VA. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: Health-care.jpg|thumb|left|500px| '''APBNRR ''']]&lt;br /&gt;
:* Develop a new Adaptive Physics-Based Non-Rigid Registration (APBNRR) method developed for image guided brain tumor resection.  Existing evaluation indicates that the  the registration accuracy and performance of APBNRR are proved sufficient to be of clinical value in the operating room. Malignant gliomas are the most common primary and metastatic brain tumors. Treatment typically includes surgical removal followed by radiotherapy or chemotherapy. Total resection is difficult to achieve during tumor removal because of the infiltrative nature of gliomas and because brain tumors are often embedded in critical functional brain tissue. In image-guided neurosurgery, co-registered pre-operative anatomical, functional, and diffusion tensor imaging can be used to facilitate a maximally safe resection of brain tumors in certain areas of the brain. However, because the brain can deform significantly during surgery, particularly in the presence of tumor resection, non-rigid registration of the preoperative image data to the patient is required. &amp;lt;u&amp;gt; This is a joined project with Harvard Medical School, MA. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: ExtremeScale.jpg|thumb|right|500px| '''Images created by the I2M tool using the CBC3D Method''']]&lt;br /&gt;
:* Test five new available (in the clinic) neurovascular devices that have not been compared before through angiographic washout analysis and accurate micro CT-based tessellation (i.e., mesh or grid reconstruction) and CFD analysis in idealized sidewall aneurysm models. The CFD simulations and angiographic washout analysis will be performed on flow diverter implantations in actual patient geometries. There is a need for robust and easy-to-use Image-to-Mesh (I2M) conversion methods and software that streamline the discretization of such complex vascular geometries with fine structures with the CFD modeling process. In this project we will focus on the development and validation of fully functional I2M conversion algorithms and software (i.e., tools) for complex vascular geometries with fine structures like stents. &amp;lt;u&amp;gt; This is a joined project with Medical School at Stony Brook University, NY. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=Main_Page&amp;diff=9036</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=Main_Page&amp;diff=9036"/>
				<updated>2023-05-12T12:51:11Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* Announcements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Thanksgiving lunch 2019.jpg|600px|thumb|frameless|center| Chrisochoides' Real-Time Computing (or in short CRTC) group before the pandemic.]]&lt;br /&gt;
&lt;br /&gt;
== Announcements == &lt;br /&gt;
&lt;br /&gt;
=== Congratulations to Dr. Thomadakis===&lt;br /&gt;
[[File:Polykarpos-Grad.jpeg|200px|left]] &lt;br /&gt;
I want to offer congratulations to Dr. Thomadakis for his impressive Ph.D. work and for defending and officially completing all his Ph.D. requirements, today! &lt;br /&gt;
&lt;br /&gt;
The AI part of his PhD work ([https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=De-noising%20drift%20chambers%20in%20CLAS12%20using%20convolutional%20auto%20encoders&amp;amp;paper_type=2&amp;amp;from=year] [https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=Using%20Machine%20Learning%20for%20Particle%20Track%20Identification%20in%20the%20CLAS12%20Detector&amp;amp;paper_type=2&amp;amp;from=year] [https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=Track%20Identification%20for%20CLAS12%20using%20Artificial%20Intelligence&amp;amp;paper_type=1&amp;amp;from=year]) was completed in collaboration with [https://www.linkedin.com/in/gagik-gavalian-55926725/ Dr. Gagik Gavalian] from [https://www.jlab.org/ Jefferson Lab] and other former members of the [https://crtc.cs.odu.edu/Main_Page CRTC], including current member Kevin Garner. Some of the findings from his research is projected to have a significant impact over the next decade, with a value of approximately $100 million. &lt;br /&gt;
&lt;br /&gt;
These results were confirmed by Nuclear Physicists in a [https://www.odu.edu/article/ai-collaboration-between-odu-jefferson-lab-improves-data-analysis recent article], and Dr. Gavalian presented the findings in [https://indico.jlab.org/event/459/contributions/11745/attachments/9491/13757/CHEP-05-2023-Gavalian.pdf CHEP'23]. [https://www.odu.edu/directory/lawrence-weinstein Dr. Lawrence Weinstein], an ODU Eminent Scholar, professor of physics, and past chair of the Jefferson Lab Users Organization, acknowledged that the project has improved particle trajectory reconstruction, resulting in a 35% increase in the number of reconstructed complicated nuclear collisions. This means that &amp;quot;more physics from the same data&amp;quot; is possible, which would have otherwise cost about $5 million per year. Dr. Gavalian's new results show that there has been an increase in statistics for physics observables of approximately 50-80%. &lt;br /&gt;
&lt;br /&gt;
Next, Dr. Gagik will be looking into applying lessons learned to other Jefferson Lab Halls (sensors) and we will be putting this AI work in “steroids” using Quantum Machine Learning. Our preliminary results ([https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=Evaluation%20of%20Scalable%20Quantum%20and%20Classical%20Machine%20Learning%20for%20Particle%20Tracking%20Classification%20in%20Nuclear%20Physics&amp;amp;paper_type=1&amp;amp;from=year] [https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=Scalable%20Quantum%20Edge%20Detection%20Method%20for%20D-NISQ%20Imaging%20Simulations:%20Use%20Cases%20from%20Nuclear%20Physics%20and%20Medical%20Image%20Computing&amp;amp;paper_type=1&amp;amp;from=year]) in Quantum Computing indicate that this is feasible.&lt;br /&gt;
&lt;br /&gt;
These accomplishments would not have been possible without the small investment from Jefferson Lab ($100K) and the Richard T. Cheng Endowment ($50K), as well as the help of many others, including the Dragas Foundation, which has assisted Olga Karadimou, an exceptional Ph.D. student at ODU, in staying at ODU with Polykarpos.&lt;br /&gt;
&lt;br /&gt;
=== COVID-19 ===&lt;br /&gt;
Our work on COVID-19 can be found [[COVID-19 here]]&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Finite Element (FE) mesh generation is a critical component for many (bio-)engineering and science applications. CRTCLab is developing a novel framework for highly scalable and energy-efficient high-quality mesh generation for the Finite Element Analysis in three and four dimensions. CRTC effort and focus is on research activities that combine domain-and application-speciﬁc knowledge with run-time system support to improve energy efficiency and scalability of parallel FE mesh generation codes. Traditionally, parallel FE mesh generation methods and software are developed without considering the architectural features of the supercomputer platforms on which they are eventually used for production. The main reason is the complexity of sequential, and moreover parallel, mesh generation algorithms. As a result, it is too expensive, in terms of labor and time, to customize the performance of parallel mesh generation software for speciﬁc supercomputing architectures.  CRTC’s basic research is funded from NSF, NASA, NRA, total $2M and target  (bio-)engineering applications are: [[#Extreme-Scale_Parallel_Mesh_Generation_&amp;amp;_Adaptation | Aerospace Industry Applications]] and [[#Medical_Image_Computing | Health Care Industry Applications]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
'''&amp;lt;big&amp;gt;Principles for Building Practical and Scalable Domain-Specific Environment:  Adaptive Data-Driven Mesh Generation for Modeling &amp;amp; Simulations&amp;lt;/big&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
[[File:Adaptivity PPoSS.png|thumb|center|600px| This graph indicates the core enabling technologies we develop at CRTC: (i) Adaptive Tessellation Techniques: Theory and Systems and the corresponding and (ii) Parallel Runtime Software Systems required to run on current and emerging Supercomputers. The pictures around indicate the five main applications we target from left to right: (a) Computational Fluid Dynamics, (b) Numerical Flow Simulations used to Predict Flow Diversion Treatment Efficacy of Cerebral Aneurysms,  (c) Trauma Brain Injuries,  (d) Physic Based Adaptive Deformable Registration used in Image-Guided Neurosurgery, and (e) Imaging for Nuclear Femtography with our collaborators: from NASA/LARC, Stony Brook Medical School, Navy Research Lab, Harvard Medical School, and Physics and Jefferson Lab, respectively. The common denominator for all these applications is adaptive parallel tessellation ( or known in the science and engineering community as mesh generation or image-to-mesh conversion). Parallel mesh generation is &amp;quot;a new research area between the boundaries of two [https://en.wikipedia.org/wiki/Scientific_computing scientific computing] disciplines: [https://en.wikipedia.org/wiki/Computational_geometry computational geometry] and [https://en.wikipedia.org/wiki/Parallel_computing parallel computing]&amp;quot; [https://en.wikipedia.org/wiki/Parallel_mesh_generation]. The applications are listed (left to right) with respect to interactions of input form Computer-Aided Design to Sensor data like MRI, US, etc.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Broader Impact'''&lt;br /&gt;
The proposed activity will have a signiﬁcant and broader impact on research and education, well beyond the bounds of this speciﬁc project and its external collaborators. Other than the direct impact to parallel unstructured mesh generation and runtime systems for supercomputers like Blue Waters, this project will beneﬁt the performance evaluation community. This project will also promote the understanding on CerebroVascular Disease (CVD, or stroke), Image Guided Surgery for Caner, and DBS for Parkisons disease,  all of which are leading natural death causes in the US. &lt;br /&gt;
&lt;br /&gt;
'''Intellectual Merit'''&lt;br /&gt;
The Intellectual Merit of this project is summarized in terms of three novel contributions: (1) an understanding of the complex computation, communication, and memory utilization patterns in a telescopic superposition of multiple parallel mesh generation codes, (2) new abstractions to efficiently throttle concurrency and to implement race-to-halt execution models at multiple levels of granularity, while orchestrating intra-and inter-layer memory management, data movement, and load balancing to improve energy-efficiency of memory and interconnect components, and (3) a novel approach to leveraging off-the-shelf and state-of-the-art low core meshing codes for highly parallel simulations.&lt;br /&gt;
&lt;br /&gt;
== Extreme-Scale Adaptive/Anisotropic  Parallel Mesh Generation ==&lt;br /&gt;
&amp;lt;gallery heights=300px widths=300px mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
File:telescopic_and_meshes.jpg&lt;br /&gt;
File:CDT3D slide rocket nacelle.jpg ‎&lt;br /&gt;
File:Dlr airbus.jpg&lt;br /&gt;
File:Scitech 2019 delta wing.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=200px widths=200px mode=&amp;quot;packed-hover&amp;quot; caption=&amp;quot;CDT3D Meshes using speculative execution model at the chip level&amp;quot;&amp;gt;&lt;br /&gt;
File:CDT3D.jpg|130px|CDT3D Mesh&lt;br /&gt;
File:Rocket_Mesh.jpg|130px|DLR-F6 Airbus &lt;br /&gt;
File:Output_grid.jpg|130px|Rocket with Engine Mesh&lt;br /&gt;
|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
||||'''CDT3D Meshes using speculative execution model at the chip level'''&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Finite Element Mesh Generation is a critical component for many (bio-) engineering and science applications. The goal of this project is to deliver a novel Telescopic framework for highly scalable and energy efficient codes.  Domain-and application-specific knowledge and run-time system support are combined to improve accuracy of FE computations. &lt;br /&gt;
&lt;br /&gt;
CRTCLab addresses in depth two pillars: (i) high performance computing software runtime systems and (ii) mesh generation &amp;amp; adaptation based on error-metrics for NASA’s Computational Fluid Dynamics (CFD) Vision 2030. Specifically, CRTC’s focus is on the following three objectives: (1) design a multi-layered algorithmic and software framework for 3D tetrahedral anisotropic parallel mesh generation using state-of-the-art functionality supported by algorithms from AFLR and CRTC’s telescopic approach for parallel mesh generation , (2) develop error-based metrics adaptive anisotropic FE mesh generation methods and (3) design a power-aware parallel runtime software system for extreme-scale adaptive CFD computations including: (i) mesh generation &amp;amp; adaptation, and (ii) consistent error-based metrics for adaptation of any CFD discretizations with localizable error estimates. &amp;lt;u&amp;gt; This is a joined project with NASA/LaRC and MIT. &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: SubGroup1.jpg|thumb|right|500px| '''CRTC's sub-group for Extreme Scale Parallel Mesh Generation &amp;amp; Adaptation, from left to right: Nikos Chrisochoides, Kevin Garner, Dana Hammond (former TM from NASA/LaRC), Christos Tsolakis and Polykarpos Thomadakis. ''']]&lt;br /&gt;
We  have  assembled  a  team  of  established  leaders  (see [https://cepm.cs.odu.edu/People#External_Collaborators External Collaborators]) that are currently developing state-of-the-art work  on mesh generation and adaptivity issues  relevant  to NASA’s CFD 2030 Vision and will broadly impact end-user productivity of users throughout DoD and NASA.&lt;br /&gt;
&lt;br /&gt;
'''Objectives'''&lt;br /&gt;
:# Design  a  multi-layered  algorithmic  and  software  framework  for  3D  tetrahedral anisotropic parallel mesh generation methods using state-of-the-art functionality supported by methods implemented in AFLR and CRTC’s telescopic approach for parallel mesh generation.&lt;br /&gt;
:# Development of error-based metrics to drive an anisotropic adaptive process&lt;br /&gt;
:# Design a power-aware parallel runtime software system for extreme-scale adaptive CFD computations including:  (i) mesh generation  &amp;amp; adaptation,  and  (ii) consistent error-based  metrics  for adaptation of any CFD discretization with localizable error estimates.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Real-time Adaptive Mesh Generation in Medical Image Computing ==&lt;br /&gt;
&lt;br /&gt;
This application is using adaptive (isotropic) mesh refinement to improve (in real-time in the context of image-guided neurosurgery) the accuracy of 3D Physics-Based Deformable Registration of intra-operative MRI with pre-operative MRI. &lt;br /&gt;
&lt;br /&gt;
=== Overview === &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: CT imaging.jpg|thumb|right|500px| '''Deep Brain Stimulation – CT Imaging obtained from Neurosurgical Section of SE PADRECC McGuire VAMC (with VCU)''']]&lt;br /&gt;
:* Develop adaptive deformable registration method for Deep Brain Stimulation (DBS). DBS is an effective palliative therapy for patients suffering from Essential Tremor, Parkinson’s disease, and other neurological movement disorders.  Modern DBS surgery makes use of stereotactic systems and image guidance to accurately place electrode leads, as well as intra-operative imaging to surveil the location of the leads and guide the surgery. The effectiveness of DBS is directly correlated with the accuracy of DBS electrode lead placement, with more accurate electrode placement leading to better clinical outcomes. &amp;lt;u&amp;gt; This project is a joined with VCU, VA. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: Health-care.jpg|thumb|left|500px| '''APBNRR ''']]&lt;br /&gt;
:* Develop a new Adaptive Physics-Based Non-Rigid Registration (APBNRR) method developed for image guided brain tumor resection.  Existing evaluation indicates that the  the registration accuracy and performance of APBNRR are proved sufficient to be of clinical value in the operating room. Malignant gliomas are the most common primary and metastatic brain tumors. Treatment typically includes surgical removal followed by radiotherapy or chemotherapy. Total resection is difficult to achieve during tumor removal because of the infiltrative nature of gliomas and because brain tumors are often embedded in critical functional brain tissue. In image-guided neurosurgery, co-registered pre-operative anatomical, functional, and diffusion tensor imaging can be used to facilitate a maximally safe resection of brain tumors in certain areas of the brain. However, because the brain can deform significantly during surgery, particularly in the presence of tumor resection, non-rigid registration of the preoperative image data to the patient is required. &amp;lt;u&amp;gt; This is a joined project with Harvard Medical School, MA. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: ExtremeScale.jpg|thumb|right|500px| '''Images created by the I2M tool using the CBC3D Method''']]&lt;br /&gt;
:* Test five new available (in the clinic) neurovascular devices that have not been compared before through angiographic washout analysis and accurate micro CT-based tessellation (i.e., mesh or grid reconstruction) and CFD analysis in idealized sidewall aneurysm models. The CFD simulations and angiographic washout analysis will be performed on flow diverter implantations in actual patient geometries. There is a need for robust and easy-to-use Image-to-Mesh (I2M) conversion methods and software that streamline the discretization of such complex vascular geometries with fine structures with the CFD modeling process. In this project we will focus on the development and validation of fully functional I2M conversion algorithms and software (i.e., tools) for complex vascular geometries with fine structures like stents. &amp;lt;u&amp;gt; This is a joined project with Medical School at Stony Brook University, NY. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=COVID-19&amp;diff=9035</id>
		<title>COVID-19</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=COVID-19&amp;diff=9035"/>
				<updated>2023-05-12T12:48:32Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: Created page with &amp;quot;===Molecular Dynamics=== ==== SARS-CoV-2 D614 (original strain) Spike Cleavage Site Interaction with Furin ==== &amp;lt;html&amp;gt;   &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;     &amp;lt;video width=&amp;quot;700...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Molecular Dynamics===&lt;br /&gt;
==== SARS-CoV-2 D614 (original strain) Spike Cleavage Site Interaction with Furin ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/S5-D614-w-furin.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 G614 (new strain) Spike Cleavage Site Interaction with Furin ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/S6-G614-w-furin.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Molecular Geometric Feature Analysis===&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 G614 Spike Cleavage Domain Tunnels (red-blue) Superimposed on D614 Spike Cleavage Domain with D614 Tunnel (purple-orange) using the atomic structure from the original strain ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/D614-G614-TunnelsSuperimposeAnim-web.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Remark''': Notice the difference between the position of new tunnels where the C &amp;amp; O used to be in the original COVID19 strain &lt;br /&gt;
&lt;br /&gt;
To see other videos please click [[Molecular Geometric Feature Analysis | here]].&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 D614 vs G614 Mutation in Spike Cleavage Domain ====&lt;br /&gt;
&amp;lt;gallery heights=300px widths=300px mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_1.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_2.png ‎&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_3.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_4.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_5.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_6.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_7.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_8.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see other slideshows please click [[Molecular Geometric Feature Analysis | here]].&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=Main_Page&amp;diff=9034</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=Main_Page&amp;diff=9034"/>
				<updated>2023-05-12T12:24:03Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* Congratulations to Dr. Thomadakis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Thanksgiving lunch 2019.jpg|600px|thumb|frameless|center| Chrisochoides' Real-Time Computing (or in short CRTC) group before the pandemic.]]&lt;br /&gt;
&lt;br /&gt;
== Announcements == &lt;br /&gt;
&lt;br /&gt;
=== Congratulations to Dr. Thomadakis===&lt;br /&gt;
[[File:Polykarpos-Grad.jpeg|200px|left]] &lt;br /&gt;
I want to offer congratulations to Dr. Thomadakis for his impressive Ph.D. work and for defending and officially completing all his Ph.D. requirements, today! &lt;br /&gt;
&lt;br /&gt;
The AI part of his PhD work ([https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=De-noising%20drift%20chambers%20in%20CLAS12%20using%20convolutional%20auto%20encoders&amp;amp;paper_type=2&amp;amp;from=year] [https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=Using%20Machine%20Learning%20for%20Particle%20Track%20Identification%20in%20the%20CLAS12%20Detector&amp;amp;paper_type=2&amp;amp;from=year] [https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=Track%20Identification%20for%20CLAS12%20using%20Artificial%20Intelligence&amp;amp;paper_type=1&amp;amp;from=year]) was completed in collaboration with [https://www.linkedin.com/in/gagik-gavalian-55926725/ Dr. Gagik Gavalian] from [https://www.jlab.org/ Jefferson Lab] and other former members of the [https://crtc.cs.odu.edu/Main_Page CRTC], including current member Kevin Garner. Some of the findings from his research is projected to have a significant impact over the next decade, with a value of approximately $100 million. &lt;br /&gt;
&lt;br /&gt;
These results were confirmed by Nuclear Physicists in a [https://www.odu.edu/article/ai-collaboration-between-odu-jefferson-lab-improves-data-analysis recent article], and Dr. Gavalian presented the findings in [https://indico.jlab.org/event/459/contributions/11745/attachments/9491/13757/CHEP-05-2023-Gavalian.pdf CHEP'23]. [https://www.odu.edu/directory/lawrence-weinstein Dr. Lawrence Weinstein], an ODU Eminent Scholar, professor of physics, and past chair of the Jefferson Lab Users Organization, acknowledged that the project has improved particle trajectory reconstruction, resulting in a 35% increase in the number of reconstructed complicated nuclear collisions. This means that &amp;quot;more physics from the same data&amp;quot; is possible, which would have otherwise cost about $5 million per year. Dr. Gavalian's new results show that there has been an increase in statistics for physics observables of approximately 50-80%. &lt;br /&gt;
&lt;br /&gt;
Next, Dr. Gagik will be looking into applying lessons learned to other Jefferson Lab Halls (sensors) and we will be putting this AI work in “steroids” using Quantum Machine Learning. Our preliminary results ([https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=Evaluation%20of%20Scalable%20Quantum%20and%20Classical%20Machine%20Learning%20for%20Particle%20Tracking%20Classification%20in%20Nuclear%20Physics&amp;amp;paper_type=1&amp;amp;from=year] [https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=Scalable%20Quantum%20Edge%20Detection%20Method%20for%20D-NISQ%20Imaging%20Simulations:%20Use%20Cases%20from%20Nuclear%20Physics%20and%20Medical%20Image%20Computing&amp;amp;paper_type=1&amp;amp;from=year]) in Quantum Computing indicate that this is feasible.&lt;br /&gt;
&lt;br /&gt;
These accomplishments would not have been possible without the small investment from Jefferson Lab ($100K) and the Richard T. Cheng Endowment ($50K), as well as the help of many others, including the Dragas Foundation, which has assisted Olga Karadimou, an exceptional Ph.D. student at ODU, in staying at ODU with Polykarpos.&lt;br /&gt;
&lt;br /&gt;
===Molecular Dynamics===&lt;br /&gt;
==== SARS-CoV-2 D614 (original strain) Spike Cleavage Site Interaction with Furin ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/S5-D614-w-furin.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 G614 (new strain) Spike Cleavage Site Interaction with Furin ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/S6-G614-w-furin.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Molecular Geometric Feature Analysis===&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 G614 Spike Cleavage Domain Tunnels (red-blue) Superimposed on D614 Spike Cleavage Domain with D614 Tunnel (purple-orange) using the atomic structure from the original strain ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/D614-G614-TunnelsSuperimposeAnim-web.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Remark''': Notice the difference between the position of new tunnels where the C &amp;amp; O used to be in the original COVID19 strain &lt;br /&gt;
&lt;br /&gt;
To see other videos please click [[Molecular Geometric Feature Analysis | here]].&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 D614 vs G614 Mutation in Spike Cleavage Domain ====&lt;br /&gt;
&amp;lt;gallery heights=300px widths=300px mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_1.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_2.png ‎&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_3.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_4.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_5.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_6.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_7.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_8.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see other slideshows please click [[Molecular Geometric Feature Analysis | here]].&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Finite Element (FE) mesh generation is a critical component for many (bio-)engineering and science applications. CRTCLab is developing a novel framework for highly scalable and energy-efficient high-quality mesh generation for the Finite Element Analysis in three and four dimensions. CRTC effort and focus is on research activities that combine domain-and application-speciﬁc knowledge with run-time system support to improve energy efficiency and scalability of parallel FE mesh generation codes. Traditionally, parallel FE mesh generation methods and software are developed without considering the architectural features of the supercomputer platforms on which they are eventually used for production. The main reason is the complexity of sequential, and moreover parallel, mesh generation algorithms. As a result, it is too expensive, in terms of labor and time, to customize the performance of parallel mesh generation software for speciﬁc supercomputing architectures.  CRTC’s basic research is funded from NSF, NASA, NRA, total $2M and target  (bio-)engineering applications are: [[#Extreme-Scale_Parallel_Mesh_Generation_&amp;amp;_Adaptation | Aerospace Industry Applications]] and [[#Medical_Image_Computing | Health Care Industry Applications]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
'''&amp;lt;big&amp;gt;Principles for Building Practical and Scalable Domain-Specific Environment:  Adaptive Data-Driven Mesh Generation for Modeling &amp;amp; Simulations&amp;lt;/big&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
[[File:Adaptivity PPoSS.png|thumb|center|600px| This graph indicates the core enabling technologies we develop at CRTC: (i) Adaptive Tessellation Techniques: Theory and Systems and the corresponding and (ii) Parallel Runtime Software Systems required to run on current and emerging Supercomputers. The pictures around indicate the five main applications we target from left to right: (a) Computational Fluid Dynamics, (b) Numerical Flow Simulations used to Predict Flow Diversion Treatment Efficacy of Cerebral Aneurysms,  (c) Trauma Brain Injuries,  (d) Physic Based Adaptive Deformable Registration used in Image-Guided Neurosurgery, and (e) Imaging for Nuclear Femtography with our collaborators: from NASA/LARC, Stony Brook Medical School, Navy Research Lab, Harvard Medical School, and Physics and Jefferson Lab, respectively. The common denominator for all these applications is adaptive parallel tessellation ( or known in the science and engineering community as mesh generation or image-to-mesh conversion). Parallel mesh generation is &amp;quot;a new research area between the boundaries of two [https://en.wikipedia.org/wiki/Scientific_computing scientific computing] disciplines: [https://en.wikipedia.org/wiki/Computational_geometry computational geometry] and [https://en.wikipedia.org/wiki/Parallel_computing parallel computing]&amp;quot; [https://en.wikipedia.org/wiki/Parallel_mesh_generation]. The applications are listed (left to right) with respect to interactions of input form Computer-Aided Design to Sensor data like MRI, US, etc.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Broader Impact'''&lt;br /&gt;
The proposed activity will have a signiﬁcant and broader impact on research and education, well beyond the bounds of this speciﬁc project and its external collaborators. Other than the direct impact to parallel unstructured mesh generation and runtime systems for supercomputers like Blue Waters, this project will beneﬁt the performance evaluation community. This project will also promote the understanding on CerebroVascular Disease (CVD, or stroke), Image Guided Surgery for Caner, and DBS for Parkisons disease,  all of which are leading natural death causes in the US. &lt;br /&gt;
&lt;br /&gt;
'''Intellectual Merit'''&lt;br /&gt;
The Intellectual Merit of this project is summarized in terms of three novel contributions: (1) an understanding of the complex computation, communication, and memory utilization patterns in a telescopic superposition of multiple parallel mesh generation codes, (2) new abstractions to efficiently throttle concurrency and to implement race-to-halt execution models at multiple levels of granularity, while orchestrating intra-and inter-layer memory management, data movement, and load balancing to improve energy-efficiency of memory and interconnect components, and (3) a novel approach to leveraging off-the-shelf and state-of-the-art low core meshing codes for highly parallel simulations.&lt;br /&gt;
&lt;br /&gt;
== Extreme-Scale Adaptive/Anisotropic  Parallel Mesh Generation ==&lt;br /&gt;
&amp;lt;gallery heights=300px widths=300px mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
File:telescopic_and_meshes.jpg&lt;br /&gt;
File:CDT3D slide rocket nacelle.jpg ‎&lt;br /&gt;
File:Dlr airbus.jpg&lt;br /&gt;
File:Scitech 2019 delta wing.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=200px widths=200px mode=&amp;quot;packed-hover&amp;quot; caption=&amp;quot;CDT3D Meshes using speculative execution model at the chip level&amp;quot;&amp;gt;&lt;br /&gt;
File:CDT3D.jpg|130px|CDT3D Mesh&lt;br /&gt;
File:Rocket_Mesh.jpg|130px|DLR-F6 Airbus &lt;br /&gt;
File:Output_grid.jpg|130px|Rocket with Engine Mesh&lt;br /&gt;
|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
||||'''CDT3D Meshes using speculative execution model at the chip level'''&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Finite Element Mesh Generation is a critical component for many (bio-) engineering and science applications. The goal of this project is to deliver a novel Telescopic framework for highly scalable and energy efficient codes.  Domain-and application-specific knowledge and run-time system support are combined to improve accuracy of FE computations. &lt;br /&gt;
&lt;br /&gt;
CRTCLab addresses in depth two pillars: (i) high performance computing software runtime systems and (ii) mesh generation &amp;amp; adaptation based on error-metrics for NASA’s Computational Fluid Dynamics (CFD) Vision 2030. Specifically, CRTC’s focus is on the following three objectives: (1) design a multi-layered algorithmic and software framework for 3D tetrahedral anisotropic parallel mesh generation using state-of-the-art functionality supported by algorithms from AFLR and CRTC’s telescopic approach for parallel mesh generation , (2) develop error-based metrics adaptive anisotropic FE mesh generation methods and (3) design a power-aware parallel runtime software system for extreme-scale adaptive CFD computations including: (i) mesh generation &amp;amp; adaptation, and (ii) consistent error-based metrics for adaptation of any CFD discretizations with localizable error estimates. &amp;lt;u&amp;gt; This is a joined project with NASA/LaRC and MIT. &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: SubGroup1.jpg|thumb|right|500px| '''CRTC's sub-group for Extreme Scale Parallel Mesh Generation &amp;amp; Adaptation, from left to right: Nikos Chrisochoides, Kevin Garner, Dana Hammond (former TM from NASA/LaRC), Christos Tsolakis and Polykarpos Thomadakis. ''']]&lt;br /&gt;
We  have  assembled  a  team  of  established  leaders  (see [https://cepm.cs.odu.edu/People#External_Collaborators External Collaborators]) that are currently developing state-of-the-art work  on mesh generation and adaptivity issues  relevant  to NASA’s CFD 2030 Vision and will broadly impact end-user productivity of users throughout DoD and NASA.&lt;br /&gt;
&lt;br /&gt;
'''Objectives'''&lt;br /&gt;
:# Design  a  multi-layered  algorithmic  and  software  framework  for  3D  tetrahedral anisotropic parallel mesh generation methods using state-of-the-art functionality supported by methods implemented in AFLR and CRTC’s telescopic approach for parallel mesh generation.&lt;br /&gt;
:# Development of error-based metrics to drive an anisotropic adaptive process&lt;br /&gt;
:# Design a power-aware parallel runtime software system for extreme-scale adaptive CFD computations including:  (i) mesh generation  &amp;amp; adaptation,  and  (ii) consistent error-based  metrics  for adaptation of any CFD discretization with localizable error estimates.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Real-time Adaptive Mesh Generation in Medical Image Computing ==&lt;br /&gt;
&lt;br /&gt;
This application is using adaptive (isotropic) mesh refinement to improve (in real-time in the context of image-guided neurosurgery) the accuracy of 3D Physics-Based Deformable Registration of intra-operative MRI with pre-operative MRI. &lt;br /&gt;
&lt;br /&gt;
=== Overview === &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: CT imaging.jpg|thumb|right|500px| '''Deep Brain Stimulation – CT Imaging obtained from Neurosurgical Section of SE PADRECC McGuire VAMC (with VCU)''']]&lt;br /&gt;
:* Develop adaptive deformable registration method for Deep Brain Stimulation (DBS). DBS is an effective palliative therapy for patients suffering from Essential Tremor, Parkinson’s disease, and other neurological movement disorders.  Modern DBS surgery makes use of stereotactic systems and image guidance to accurately place electrode leads, as well as intra-operative imaging to surveil the location of the leads and guide the surgery. The effectiveness of DBS is directly correlated with the accuracy of DBS electrode lead placement, with more accurate electrode placement leading to better clinical outcomes. &amp;lt;u&amp;gt; This project is a joined with VCU, VA. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: Health-care.jpg|thumb|left|500px| '''APBNRR ''']]&lt;br /&gt;
:* Develop a new Adaptive Physics-Based Non-Rigid Registration (APBNRR) method developed for image guided brain tumor resection.  Existing evaluation indicates that the  the registration accuracy and performance of APBNRR are proved sufficient to be of clinical value in the operating room. Malignant gliomas are the most common primary and metastatic brain tumors. Treatment typically includes surgical removal followed by radiotherapy or chemotherapy. Total resection is difficult to achieve during tumor removal because of the infiltrative nature of gliomas and because brain tumors are often embedded in critical functional brain tissue. In image-guided neurosurgery, co-registered pre-operative anatomical, functional, and diffusion tensor imaging can be used to facilitate a maximally safe resection of brain tumors in certain areas of the brain. However, because the brain can deform significantly during surgery, particularly in the presence of tumor resection, non-rigid registration of the preoperative image data to the patient is required. &amp;lt;u&amp;gt; This is a joined project with Harvard Medical School, MA. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: ExtremeScale.jpg|thumb|right|500px| '''Images created by the I2M tool using the CBC3D Method''']]&lt;br /&gt;
:* Test five new available (in the clinic) neurovascular devices that have not been compared before through angiographic washout analysis and accurate micro CT-based tessellation (i.e., mesh or grid reconstruction) and CFD analysis in idealized sidewall aneurysm models. The CFD simulations and angiographic washout analysis will be performed on flow diverter implantations in actual patient geometries. There is a need for robust and easy-to-use Image-to-Mesh (I2M) conversion methods and software that streamline the discretization of such complex vascular geometries with fine structures with the CFD modeling process. In this project we will focus on the development and validation of fully functional I2M conversion algorithms and software (i.e., tools) for complex vascular geometries with fine structures like stents. &amp;lt;u&amp;gt; This is a joined project with Medical School at Stony Brook University, NY. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=Main_Page&amp;diff=9033</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=Main_Page&amp;diff=9033"/>
				<updated>2023-05-12T11:47:32Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* Congratulations to Dr. Thomadakis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Thanksgiving lunch 2019.jpg|600px|thumb|frameless|center| Chrisochoides' Real-Time Computing (or in short CRTC) group before the pandemic.]]&lt;br /&gt;
&lt;br /&gt;
== Announcements == &lt;br /&gt;
&lt;br /&gt;
=== Congratulations to Dr. Thomadakis===&lt;br /&gt;
[[File:Polykarpos-Grad.jpeg|200px|left]] &lt;br /&gt;
I want to offer congratulations to Dr. Thomadakis for his impressive Ph.D. work and for defending and officially completing all his Ph.D. requirements, today! &lt;br /&gt;
&lt;br /&gt;
The AI part of his PhD work ([https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=De-noising%20drift%20chambers%20in%20CLAS12%20using%20convolutional%20auto%20encoders&amp;amp;paper_type=2&amp;amp;from=year] [https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=Using%20Machine%20Learning%20for%20Particle%20Track%20Identification%20in%20the%20CLAS12%20Detector&amp;amp;paper_type=2&amp;amp;from=year] [https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=Track%20Identification%20for%20CLAS12%20using%20Artificial%20Intelligence&amp;amp;paper_type=1&amp;amp;from=year]) was completed in collaboration with [https://www.linkedin.com/in/gagik-gavalian-55926725/ Dr. Gagik Gavalian] from [https://www.jlab.org/ Jefferson Lab] and other former members of the [https://crtc.cs.odu.edu/Main_Page CRTC], including current member Kevin Garner. Some of the findings from his research is projected to have a significant impact over the next decade, with a value of approximately $100 million. &lt;br /&gt;
&lt;br /&gt;
These results were confirmed by Nuclear Physicists in a [https://www.odu.edu/article/ai-collaboration-between-odu-jefferson-lab-improves-data-analysis recent article], and Dr. Gavalian presented the findings in [https://indico.jlab.org/event/459/contributions/11745/attachments/9491/13757/CHEP-05-2023-Gavalian.pdf CHEP'23]. [https://www.odu.edu/directory/lawrence-weinstein Dr. Lawrence Weinstein], an ODU Eminent Scholar, professor of physics, and past chair of the Jefferson Lab Users Organization, acknowledged that the project has improved particle trajectory reconstruction, resulting in a 35% increase in the number of reconstructed complicated nuclear collisions. This means that &amp;quot;more physics from the same data&amp;quot; is possible, which would have otherwise cost about $5 million per year. Dr. Gavalian's new results show that there has been an increase in statistics for physics observables of approximately 50-80%. &lt;br /&gt;
&lt;br /&gt;
Next, Dr. Gagik will be looking into applying lessons learned to other Jefferson Lab Halls (sensors) and we will be putting this AI work in “steroids” using Quantum Machine Learning. Our preliminary results in Quantum Computing indicate that this is feasible.&lt;br /&gt;
&lt;br /&gt;
These accomplishments would not have been possible without the small investment from Jefferson Lab ($100K) and the Richard T. Cheng Endowment ($50K), as well as the help of many others, including the Dragas Foundation, which has assisted Olga Karadimou, an exceptional Ph.D. student at ODU, in staying at ODU with Polykarpos.&lt;br /&gt;
&lt;br /&gt;
===Molecular Dynamics===&lt;br /&gt;
==== SARS-CoV-2 D614 (original strain) Spike Cleavage Site Interaction with Furin ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/S5-D614-w-furin.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 G614 (new strain) Spike Cleavage Site Interaction with Furin ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/S6-G614-w-furin.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Molecular Geometric Feature Analysis===&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 G614 Spike Cleavage Domain Tunnels (red-blue) Superimposed on D614 Spike Cleavage Domain with D614 Tunnel (purple-orange) using the atomic structure from the original strain ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/D614-G614-TunnelsSuperimposeAnim-web.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Remark''': Notice the difference between the position of new tunnels where the C &amp;amp; O used to be in the original COVID19 strain &lt;br /&gt;
&lt;br /&gt;
To see other videos please click [[Molecular Geometric Feature Analysis | here]].&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 D614 vs G614 Mutation in Spike Cleavage Domain ====&lt;br /&gt;
&amp;lt;gallery heights=300px widths=300px mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_1.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_2.png ‎&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_3.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_4.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_5.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_6.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_7.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_8.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see other slideshows please click [[Molecular Geometric Feature Analysis | here]].&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Finite Element (FE) mesh generation is a critical component for many (bio-)engineering and science applications. CRTCLab is developing a novel framework for highly scalable and energy-efficient high-quality mesh generation for the Finite Element Analysis in three and four dimensions. CRTC effort and focus is on research activities that combine domain-and application-speciﬁc knowledge with run-time system support to improve energy efficiency and scalability of parallel FE mesh generation codes. Traditionally, parallel FE mesh generation methods and software are developed without considering the architectural features of the supercomputer platforms on which they are eventually used for production. The main reason is the complexity of sequential, and moreover parallel, mesh generation algorithms. As a result, it is too expensive, in terms of labor and time, to customize the performance of parallel mesh generation software for speciﬁc supercomputing architectures.  CRTC’s basic research is funded from NSF, NASA, NRA, total $2M and target  (bio-)engineering applications are: [[#Extreme-Scale_Parallel_Mesh_Generation_&amp;amp;_Adaptation | Aerospace Industry Applications]] and [[#Medical_Image_Computing | Health Care Industry Applications]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
'''&amp;lt;big&amp;gt;Principles for Building Practical and Scalable Domain-Specific Environment:  Adaptive Data-Driven Mesh Generation for Modeling &amp;amp; Simulations&amp;lt;/big&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
[[File:Adaptivity PPoSS.png|thumb|center|600px| This graph indicates the core enabling technologies we develop at CRTC: (i) Adaptive Tessellation Techniques: Theory and Systems and the corresponding and (ii) Parallel Runtime Software Systems required to run on current and emerging Supercomputers. The pictures around indicate the five main applications we target from left to right: (a) Computational Fluid Dynamics, (b) Numerical Flow Simulations used to Predict Flow Diversion Treatment Efficacy of Cerebral Aneurysms,  (c) Trauma Brain Injuries,  (d) Physic Based Adaptive Deformable Registration used in Image-Guided Neurosurgery, and (e) Imaging for Nuclear Femtography with our collaborators: from NASA/LARC, Stony Brook Medical School, Navy Research Lab, Harvard Medical School, and Physics and Jefferson Lab, respectively. The common denominator for all these applications is adaptive parallel tessellation ( or known in the science and engineering community as mesh generation or image-to-mesh conversion). Parallel mesh generation is &amp;quot;a new research area between the boundaries of two [https://en.wikipedia.org/wiki/Scientific_computing scientific computing] disciplines: [https://en.wikipedia.org/wiki/Computational_geometry computational geometry] and [https://en.wikipedia.org/wiki/Parallel_computing parallel computing]&amp;quot; [https://en.wikipedia.org/wiki/Parallel_mesh_generation]. The applications are listed (left to right) with respect to interactions of input form Computer-Aided Design to Sensor data like MRI, US, etc.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Broader Impact'''&lt;br /&gt;
The proposed activity will have a signiﬁcant and broader impact on research and education, well beyond the bounds of this speciﬁc project and its external collaborators. Other than the direct impact to parallel unstructured mesh generation and runtime systems for supercomputers like Blue Waters, this project will beneﬁt the performance evaluation community. This project will also promote the understanding on CerebroVascular Disease (CVD, or stroke), Image Guided Surgery for Caner, and DBS for Parkisons disease,  all of which are leading natural death causes in the US. &lt;br /&gt;
&lt;br /&gt;
'''Intellectual Merit'''&lt;br /&gt;
The Intellectual Merit of this project is summarized in terms of three novel contributions: (1) an understanding of the complex computation, communication, and memory utilization patterns in a telescopic superposition of multiple parallel mesh generation codes, (2) new abstractions to efficiently throttle concurrency and to implement race-to-halt execution models at multiple levels of granularity, while orchestrating intra-and inter-layer memory management, data movement, and load balancing to improve energy-efficiency of memory and interconnect components, and (3) a novel approach to leveraging off-the-shelf and state-of-the-art low core meshing codes for highly parallel simulations.&lt;br /&gt;
&lt;br /&gt;
== Extreme-Scale Adaptive/Anisotropic  Parallel Mesh Generation ==&lt;br /&gt;
&amp;lt;gallery heights=300px widths=300px mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
File:telescopic_and_meshes.jpg&lt;br /&gt;
File:CDT3D slide rocket nacelle.jpg ‎&lt;br /&gt;
File:Dlr airbus.jpg&lt;br /&gt;
File:Scitech 2019 delta wing.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=200px widths=200px mode=&amp;quot;packed-hover&amp;quot; caption=&amp;quot;CDT3D Meshes using speculative execution model at the chip level&amp;quot;&amp;gt;&lt;br /&gt;
File:CDT3D.jpg|130px|CDT3D Mesh&lt;br /&gt;
File:Rocket_Mesh.jpg|130px|DLR-F6 Airbus &lt;br /&gt;
File:Output_grid.jpg|130px|Rocket with Engine Mesh&lt;br /&gt;
|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
||||'''CDT3D Meshes using speculative execution model at the chip level'''&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Finite Element Mesh Generation is a critical component for many (bio-) engineering and science applications. The goal of this project is to deliver a novel Telescopic framework for highly scalable and energy efficient codes.  Domain-and application-specific knowledge and run-time system support are combined to improve accuracy of FE computations. &lt;br /&gt;
&lt;br /&gt;
CRTCLab addresses in depth two pillars: (i) high performance computing software runtime systems and (ii) mesh generation &amp;amp; adaptation based on error-metrics for NASA’s Computational Fluid Dynamics (CFD) Vision 2030. Specifically, CRTC’s focus is on the following three objectives: (1) design a multi-layered algorithmic and software framework for 3D tetrahedral anisotropic parallel mesh generation using state-of-the-art functionality supported by algorithms from AFLR and CRTC’s telescopic approach for parallel mesh generation , (2) develop error-based metrics adaptive anisotropic FE mesh generation methods and (3) design a power-aware parallel runtime software system for extreme-scale adaptive CFD computations including: (i) mesh generation &amp;amp; adaptation, and (ii) consistent error-based metrics for adaptation of any CFD discretizations with localizable error estimates. &amp;lt;u&amp;gt; This is a joined project with NASA/LaRC and MIT. &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: SubGroup1.jpg|thumb|right|500px| '''CRTC's sub-group for Extreme Scale Parallel Mesh Generation &amp;amp; Adaptation, from left to right: Nikos Chrisochoides, Kevin Garner, Dana Hammond (former TM from NASA/LaRC), Christos Tsolakis and Polykarpos Thomadakis. ''']]&lt;br /&gt;
We  have  assembled  a  team  of  established  leaders  (see [https://cepm.cs.odu.edu/People#External_Collaborators External Collaborators]) that are currently developing state-of-the-art work  on mesh generation and adaptivity issues  relevant  to NASA’s CFD 2030 Vision and will broadly impact end-user productivity of users throughout DoD and NASA.&lt;br /&gt;
&lt;br /&gt;
'''Objectives'''&lt;br /&gt;
:# Design  a  multi-layered  algorithmic  and  software  framework  for  3D  tetrahedral anisotropic parallel mesh generation methods using state-of-the-art functionality supported by methods implemented in AFLR and CRTC’s telescopic approach for parallel mesh generation.&lt;br /&gt;
:# Development of error-based metrics to drive an anisotropic adaptive process&lt;br /&gt;
:# Design a power-aware parallel runtime software system for extreme-scale adaptive CFD computations including:  (i) mesh generation  &amp;amp; adaptation,  and  (ii) consistent error-based  metrics  for adaptation of any CFD discretization with localizable error estimates.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Real-time Adaptive Mesh Generation in Medical Image Computing ==&lt;br /&gt;
&lt;br /&gt;
This application is using adaptive (isotropic) mesh refinement to improve (in real-time in the context of image-guided neurosurgery) the accuracy of 3D Physics-Based Deformable Registration of intra-operative MRI with pre-operative MRI. &lt;br /&gt;
&lt;br /&gt;
=== Overview === &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: CT imaging.jpg|thumb|right|500px| '''Deep Brain Stimulation – CT Imaging obtained from Neurosurgical Section of SE PADRECC McGuire VAMC (with VCU)''']]&lt;br /&gt;
:* Develop adaptive deformable registration method for Deep Brain Stimulation (DBS). DBS is an effective palliative therapy for patients suffering from Essential Tremor, Parkinson’s disease, and other neurological movement disorders.  Modern DBS surgery makes use of stereotactic systems and image guidance to accurately place electrode leads, as well as intra-operative imaging to surveil the location of the leads and guide the surgery. The effectiveness of DBS is directly correlated with the accuracy of DBS electrode lead placement, with more accurate electrode placement leading to better clinical outcomes. &amp;lt;u&amp;gt; This project is a joined with VCU, VA. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: Health-care.jpg|thumb|left|500px| '''APBNRR ''']]&lt;br /&gt;
:* Develop a new Adaptive Physics-Based Non-Rigid Registration (APBNRR) method developed for image guided brain tumor resection.  Existing evaluation indicates that the  the registration accuracy and performance of APBNRR are proved sufficient to be of clinical value in the operating room. Malignant gliomas are the most common primary and metastatic brain tumors. Treatment typically includes surgical removal followed by radiotherapy or chemotherapy. Total resection is difficult to achieve during tumor removal because of the infiltrative nature of gliomas and because brain tumors are often embedded in critical functional brain tissue. In image-guided neurosurgery, co-registered pre-operative anatomical, functional, and diffusion tensor imaging can be used to facilitate a maximally safe resection of brain tumors in certain areas of the brain. However, because the brain can deform significantly during surgery, particularly in the presence of tumor resection, non-rigid registration of the preoperative image data to the patient is required. &amp;lt;u&amp;gt; This is a joined project with Harvard Medical School, MA. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: ExtremeScale.jpg|thumb|right|500px| '''Images created by the I2M tool using the CBC3D Method''']]&lt;br /&gt;
:* Test five new available (in the clinic) neurovascular devices that have not been compared before through angiographic washout analysis and accurate micro CT-based tessellation (i.e., mesh or grid reconstruction) and CFD analysis in idealized sidewall aneurysm models. The CFD simulations and angiographic washout analysis will be performed on flow diverter implantations in actual patient geometries. There is a need for robust and easy-to-use Image-to-Mesh (I2M) conversion methods and software that streamline the discretization of such complex vascular geometries with fine structures with the CFD modeling process. In this project we will focus on the development and validation of fully functional I2M conversion algorithms and software (i.e., tools) for complex vascular geometries with fine structures like stents. &amp;lt;u&amp;gt; This is a joined project with Medical School at Stony Brook University, NY. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=Main_Page&amp;diff=9032</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=Main_Page&amp;diff=9032"/>
				<updated>2023-05-12T11:47:10Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* Congratulations to Dr. Thomadakis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Thanksgiving lunch 2019.jpg|600px|thumb|frameless|center| Chrisochoides' Real-Time Computing (or in short CRTC) group before the pandemic.]]&lt;br /&gt;
&lt;br /&gt;
== Announcements == &lt;br /&gt;
&lt;br /&gt;
=== Congratulations to Dr. Thomadakis===&lt;br /&gt;
[[File:Polykarpos-Grad.jpeg|200px|left]] &lt;br /&gt;
I want to offer congratulations to Dr. Thomadakis for his impressive Ph.D. work and for defending and officially completing all his Ph.D. requirements, today! &lt;br /&gt;
&lt;br /&gt;
The AI part of his PhD work[https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=De-noising%20drift%20chambers%20in%20CLAS12%20using%20convolutional%20auto%20encoders&amp;amp;paper_type=2&amp;amp;from=year] [https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=Using%20Machine%20Learning%20for%20Particle%20Track%20Identification%20in%20the%20CLAS12%20Detector&amp;amp;paper_type=2&amp;amp;from=year] [https://crtc.cs.odu.edu/pub/html_output/details.php?&amp;amp;title=Track%20Identification%20for%20CLAS12%20using%20Artificial%20Intelligence&amp;amp;paper_type=1&amp;amp;from=year] was completed in collaboration with [https://www.linkedin.com/in/gagik-gavalian-55926725/ Dr. Gagik Gavalian] from [https://www.jlab.org/ Jefferson Lab] and other former members of the [https://crtc.cs.odu.edu/Main_Page CRTC], including current member Kevin Garner. Some of the findings from his research is projected to have a significant impact over the next decade, with a value of approximately $100 million. &lt;br /&gt;
&lt;br /&gt;
These results were confirmed by Nuclear Physicists in a [https://www.odu.edu/article/ai-collaboration-between-odu-jefferson-lab-improves-data-analysis recent article], and Dr. Gavalian presented the findings in [https://indico.jlab.org/event/459/contributions/11745/attachments/9491/13757/CHEP-05-2023-Gavalian.pdf CHEP'23]. [https://www.odu.edu/directory/lawrence-weinstein Dr. Lawrence Weinstein], an ODU Eminent Scholar, professor of physics, and past chair of the Jefferson Lab Users Organization, acknowledged that the project has improved particle trajectory reconstruction, resulting in a 35% increase in the number of reconstructed complicated nuclear collisions. This means that &amp;quot;more physics from the same data&amp;quot; is possible, which would have otherwise cost about $5 million per year. Dr. Gavalian's new results show that there has been an increase in statistics for physics observables of approximately 50-80%. &lt;br /&gt;
&lt;br /&gt;
Next, Dr. Gagik will be looking into applying lessons learned to other Jefferson Lab Halls (sensors) and we will be putting this AI work in “steroids” using Quantum Machine Learning. Our preliminary results in Quantum Computing indicate that this is feasible.&lt;br /&gt;
&lt;br /&gt;
These accomplishments would not have been possible without the small investment from Jefferson Lab ($100K) and the Richard T. Cheng Endowment ($50K), as well as the help of many others, including the Dragas Foundation, which has assisted Olga Karadimou, an exceptional Ph.D. student at ODU, in staying at ODU with Polykarpos.&lt;br /&gt;
&lt;br /&gt;
===Molecular Dynamics===&lt;br /&gt;
==== SARS-CoV-2 D614 (original strain) Spike Cleavage Site Interaction with Furin ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/S5-D614-w-furin.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 G614 (new strain) Spike Cleavage Site Interaction with Furin ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/S6-G614-w-furin.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Molecular Geometric Feature Analysis===&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 G614 Spike Cleavage Domain Tunnels (red-blue) Superimposed on D614 Spike Cleavage Domain with D614 Tunnel (purple-orange) using the atomic structure from the original strain ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/D614-G614-TunnelsSuperimposeAnim-web.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Remark''': Notice the difference between the position of new tunnels where the C &amp;amp; O used to be in the original COVID19 strain &lt;br /&gt;
&lt;br /&gt;
To see other videos please click [[Molecular Geometric Feature Analysis | here]].&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 D614 vs G614 Mutation in Spike Cleavage Domain ====&lt;br /&gt;
&amp;lt;gallery heights=300px widths=300px mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_1.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_2.png ‎&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_3.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_4.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_5.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_6.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_7.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_8.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see other slideshows please click [[Molecular Geometric Feature Analysis | here]].&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Finite Element (FE) mesh generation is a critical component for many (bio-)engineering and science applications. CRTCLab is developing a novel framework for highly scalable and energy-efficient high-quality mesh generation for the Finite Element Analysis in three and four dimensions. CRTC effort and focus is on research activities that combine domain-and application-speciﬁc knowledge with run-time system support to improve energy efficiency and scalability of parallel FE mesh generation codes. Traditionally, parallel FE mesh generation methods and software are developed without considering the architectural features of the supercomputer platforms on which they are eventually used for production. The main reason is the complexity of sequential, and moreover parallel, mesh generation algorithms. As a result, it is too expensive, in terms of labor and time, to customize the performance of parallel mesh generation software for speciﬁc supercomputing architectures.  CRTC’s basic research is funded from NSF, NASA, NRA, total $2M and target  (bio-)engineering applications are: [[#Extreme-Scale_Parallel_Mesh_Generation_&amp;amp;_Adaptation | Aerospace Industry Applications]] and [[#Medical_Image_Computing | Health Care Industry Applications]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
'''&amp;lt;big&amp;gt;Principles for Building Practical and Scalable Domain-Specific Environment:  Adaptive Data-Driven Mesh Generation for Modeling &amp;amp; Simulations&amp;lt;/big&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
[[File:Adaptivity PPoSS.png|thumb|center|600px| This graph indicates the core enabling technologies we develop at CRTC: (i) Adaptive Tessellation Techniques: Theory and Systems and the corresponding and (ii) Parallel Runtime Software Systems required to run on current and emerging Supercomputers. The pictures around indicate the five main applications we target from left to right: (a) Computational Fluid Dynamics, (b) Numerical Flow Simulations used to Predict Flow Diversion Treatment Efficacy of Cerebral Aneurysms,  (c) Trauma Brain Injuries,  (d) Physic Based Adaptive Deformable Registration used in Image-Guided Neurosurgery, and (e) Imaging for Nuclear Femtography with our collaborators: from NASA/LARC, Stony Brook Medical School, Navy Research Lab, Harvard Medical School, and Physics and Jefferson Lab, respectively. The common denominator for all these applications is adaptive parallel tessellation ( or known in the science and engineering community as mesh generation or image-to-mesh conversion). Parallel mesh generation is &amp;quot;a new research area between the boundaries of two [https://en.wikipedia.org/wiki/Scientific_computing scientific computing] disciplines: [https://en.wikipedia.org/wiki/Computational_geometry computational geometry] and [https://en.wikipedia.org/wiki/Parallel_computing parallel computing]&amp;quot; [https://en.wikipedia.org/wiki/Parallel_mesh_generation]. The applications are listed (left to right) with respect to interactions of input form Computer-Aided Design to Sensor data like MRI, US, etc.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Broader Impact'''&lt;br /&gt;
The proposed activity will have a signiﬁcant and broader impact on research and education, well beyond the bounds of this speciﬁc project and its external collaborators. Other than the direct impact to parallel unstructured mesh generation and runtime systems for supercomputers like Blue Waters, this project will beneﬁt the performance evaluation community. This project will also promote the understanding on CerebroVascular Disease (CVD, or stroke), Image Guided Surgery for Caner, and DBS for Parkisons disease,  all of which are leading natural death causes in the US. &lt;br /&gt;
&lt;br /&gt;
'''Intellectual Merit'''&lt;br /&gt;
The Intellectual Merit of this project is summarized in terms of three novel contributions: (1) an understanding of the complex computation, communication, and memory utilization patterns in a telescopic superposition of multiple parallel mesh generation codes, (2) new abstractions to efficiently throttle concurrency and to implement race-to-halt execution models at multiple levels of granularity, while orchestrating intra-and inter-layer memory management, data movement, and load balancing to improve energy-efficiency of memory and interconnect components, and (3) a novel approach to leveraging off-the-shelf and state-of-the-art low core meshing codes for highly parallel simulations.&lt;br /&gt;
&lt;br /&gt;
== Extreme-Scale Adaptive/Anisotropic  Parallel Mesh Generation ==&lt;br /&gt;
&amp;lt;gallery heights=300px widths=300px mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
File:telescopic_and_meshes.jpg&lt;br /&gt;
File:CDT3D slide rocket nacelle.jpg ‎&lt;br /&gt;
File:Dlr airbus.jpg&lt;br /&gt;
File:Scitech 2019 delta wing.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=200px widths=200px mode=&amp;quot;packed-hover&amp;quot; caption=&amp;quot;CDT3D Meshes using speculative execution model at the chip level&amp;quot;&amp;gt;&lt;br /&gt;
File:CDT3D.jpg|130px|CDT3D Mesh&lt;br /&gt;
File:Rocket_Mesh.jpg|130px|DLR-F6 Airbus &lt;br /&gt;
File:Output_grid.jpg|130px|Rocket with Engine Mesh&lt;br /&gt;
|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
||||'''CDT3D Meshes using speculative execution model at the chip level'''&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Finite Element Mesh Generation is a critical component for many (bio-) engineering and science applications. The goal of this project is to deliver a novel Telescopic framework for highly scalable and energy efficient codes.  Domain-and application-specific knowledge and run-time system support are combined to improve accuracy of FE computations. &lt;br /&gt;
&lt;br /&gt;
CRTCLab addresses in depth two pillars: (i) high performance computing software runtime systems and (ii) mesh generation &amp;amp; adaptation based on error-metrics for NASA’s Computational Fluid Dynamics (CFD) Vision 2030. Specifically, CRTC’s focus is on the following three objectives: (1) design a multi-layered algorithmic and software framework for 3D tetrahedral anisotropic parallel mesh generation using state-of-the-art functionality supported by algorithms from AFLR and CRTC’s telescopic approach for parallel mesh generation , (2) develop error-based metrics adaptive anisotropic FE mesh generation methods and (3) design a power-aware parallel runtime software system for extreme-scale adaptive CFD computations including: (i) mesh generation &amp;amp; adaptation, and (ii) consistent error-based metrics for adaptation of any CFD discretizations with localizable error estimates. &amp;lt;u&amp;gt; This is a joined project with NASA/LaRC and MIT. &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: SubGroup1.jpg|thumb|right|500px| '''CRTC's sub-group for Extreme Scale Parallel Mesh Generation &amp;amp; Adaptation, from left to right: Nikos Chrisochoides, Kevin Garner, Dana Hammond (former TM from NASA/LaRC), Christos Tsolakis and Polykarpos Thomadakis. ''']]&lt;br /&gt;
We  have  assembled  a  team  of  established  leaders  (see [https://cepm.cs.odu.edu/People#External_Collaborators External Collaborators]) that are currently developing state-of-the-art work  on mesh generation and adaptivity issues  relevant  to NASA’s CFD 2030 Vision and will broadly impact end-user productivity of users throughout DoD and NASA.&lt;br /&gt;
&lt;br /&gt;
'''Objectives'''&lt;br /&gt;
:# Design  a  multi-layered  algorithmic  and  software  framework  for  3D  tetrahedral anisotropic parallel mesh generation methods using state-of-the-art functionality supported by methods implemented in AFLR and CRTC’s telescopic approach for parallel mesh generation.&lt;br /&gt;
:# Development of error-based metrics to drive an anisotropic adaptive process&lt;br /&gt;
:# Design a power-aware parallel runtime software system for extreme-scale adaptive CFD computations including:  (i) mesh generation  &amp;amp; adaptation,  and  (ii) consistent error-based  metrics  for adaptation of any CFD discretization with localizable error estimates.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Real-time Adaptive Mesh Generation in Medical Image Computing ==&lt;br /&gt;
&lt;br /&gt;
This application is using adaptive (isotropic) mesh refinement to improve (in real-time in the context of image-guided neurosurgery) the accuracy of 3D Physics-Based Deformable Registration of intra-operative MRI with pre-operative MRI. &lt;br /&gt;
&lt;br /&gt;
=== Overview === &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: CT imaging.jpg|thumb|right|500px| '''Deep Brain Stimulation – CT Imaging obtained from Neurosurgical Section of SE PADRECC McGuire VAMC (with VCU)''']]&lt;br /&gt;
:* Develop adaptive deformable registration method for Deep Brain Stimulation (DBS). DBS is an effective palliative therapy for patients suffering from Essential Tremor, Parkinson’s disease, and other neurological movement disorders.  Modern DBS surgery makes use of stereotactic systems and image guidance to accurately place electrode leads, as well as intra-operative imaging to surveil the location of the leads and guide the surgery. The effectiveness of DBS is directly correlated with the accuracy of DBS electrode lead placement, with more accurate electrode placement leading to better clinical outcomes. &amp;lt;u&amp;gt; This project is a joined with VCU, VA. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: Health-care.jpg|thumb|left|500px| '''APBNRR ''']]&lt;br /&gt;
:* Develop a new Adaptive Physics-Based Non-Rigid Registration (APBNRR) method developed for image guided brain tumor resection.  Existing evaluation indicates that the  the registration accuracy and performance of APBNRR are proved sufficient to be of clinical value in the operating room. Malignant gliomas are the most common primary and metastatic brain tumors. Treatment typically includes surgical removal followed by radiotherapy or chemotherapy. Total resection is difficult to achieve during tumor removal because of the infiltrative nature of gliomas and because brain tumors are often embedded in critical functional brain tissue. In image-guided neurosurgery, co-registered pre-operative anatomical, functional, and diffusion tensor imaging can be used to facilitate a maximally safe resection of brain tumors in certain areas of the brain. However, because the brain can deform significantly during surgery, particularly in the presence of tumor resection, non-rigid registration of the preoperative image data to the patient is required. &amp;lt;u&amp;gt; This is a joined project with Harvard Medical School, MA. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: ExtremeScale.jpg|thumb|right|500px| '''Images created by the I2M tool using the CBC3D Method''']]&lt;br /&gt;
:* Test five new available (in the clinic) neurovascular devices that have not been compared before through angiographic washout analysis and accurate micro CT-based tessellation (i.e., mesh or grid reconstruction) and CFD analysis in idealized sidewall aneurysm models. The CFD simulations and angiographic washout analysis will be performed on flow diverter implantations in actual patient geometries. There is a need for robust and easy-to-use Image-to-Mesh (I2M) conversion methods and software that streamline the discretization of such complex vascular geometries with fine structures with the CFD modeling process. In this project we will focus on the development and validation of fully functional I2M conversion algorithms and software (i.e., tools) for complex vascular geometries with fine structures like stents. &amp;lt;u&amp;gt; This is a joined project with Medical School at Stony Brook University, NY. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=Main_Page&amp;diff=9031</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=Main_Page&amp;diff=9031"/>
				<updated>2023-05-12T11:42:10Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* Congratulations to Dr. Thomadakis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Thanksgiving lunch 2019.jpg|600px|thumb|frameless|center| Chrisochoides' Real-Time Computing (or in short CRTC) group before the pandemic.]]&lt;br /&gt;
&lt;br /&gt;
== Announcements == &lt;br /&gt;
&lt;br /&gt;
=== Congratulations to Dr. Thomadakis===&lt;br /&gt;
[[File:Polykarpos-Grad.jpeg|200px|left]] &lt;br /&gt;
I want to offer congratulations to Dr. Thomadakis for his impressive Ph.D. work and for defending and officially completing all his Ph.D. requirements, today! &lt;br /&gt;
&lt;br /&gt;
The AI part of his PhD work was completed in collaboration with [https://www.linkedin.com/in/gagik-gavalian-55926725/ Dr. Gagik Gavalian] from [https://www.jlab.org/ Jefferson Lab] and other former members of the [https://crtc.cs.odu.edu/Main_Page CRTC], including current member Kevin Garner. Some of the findings from his research is projected to have a significant impact over the next decade, with a value of approximately $100 million. &lt;br /&gt;
&lt;br /&gt;
These results were confirmed by Nuclear Physicists in a [https://www.odu.edu/article/ai-collaboration-between-odu-jefferson-lab-improves-data-analysis recent article], and Dr. Gavalian presented the findings in [https://indico.jlab.org/event/459/contributions/11745/attachments/9491/13757/CHEP-05-2023-Gavalian.pdf CHEP'23]. [https://www.odu.edu/directory/lawrence-weinstein Dr. Lawrence Weinstein], an ODU Eminent Scholar, professor of physics, and past chair of the Jefferson Lab Users Organization, acknowledged that the project has improved particle trajectory reconstruction, resulting in a 35% increase in the number of reconstructed complicated nuclear collisions. This means that &amp;quot;more physics from the same data&amp;quot; is possible, which would have otherwise cost about $5 million per year. Dr. Gavalian's new results show that there has been an increase in statistics for physics observables of approximately 50-80%. &lt;br /&gt;
&lt;br /&gt;
Next, Dr. Gagik will be looking into applying lessons learned to other Jefferson Lab Halls (sensors) and we will be putting this AI work in “steroids” using Quantum Machine Learning. Our preliminary results in Quantum Computing indicate that this is feasible.&lt;br /&gt;
&lt;br /&gt;
These accomplishments would not have been possible without the small investment from Jefferson Lab ($100K) and the Richard T. Cheng Endowment ($50K), as well as the help of many others, including the Dragas Foundation, which has assisted Olga Karadimou, an exceptional Ph.D. student at ODU, in staying at ODU with Polykarpos.&lt;br /&gt;
&lt;br /&gt;
===Molecular Dynamics===&lt;br /&gt;
==== SARS-CoV-2 D614 (original strain) Spike Cleavage Site Interaction with Furin ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/S5-D614-w-furin.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 G614 (new strain) Spike Cleavage Site Interaction with Furin ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/S6-G614-w-furin.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Molecular Geometric Feature Analysis===&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 G614 Spike Cleavage Domain Tunnels (red-blue) Superimposed on D614 Spike Cleavage Domain with D614 Tunnel (purple-orange) using the atomic structure from the original strain ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/D614-G614-TunnelsSuperimposeAnim-web.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Remark''': Notice the difference between the position of new tunnels where the C &amp;amp; O used to be in the original COVID19 strain &lt;br /&gt;
&lt;br /&gt;
To see other videos please click [[Molecular Geometric Feature Analysis | here]].&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 D614 vs G614 Mutation in Spike Cleavage Domain ====&lt;br /&gt;
&amp;lt;gallery heights=300px widths=300px mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_1.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_2.png ‎&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_3.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_4.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_5.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_6.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_7.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_8.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see other slideshows please click [[Molecular Geometric Feature Analysis | here]].&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Finite Element (FE) mesh generation is a critical component for many (bio-)engineering and science applications. CRTCLab is developing a novel framework for highly scalable and energy-efficient high-quality mesh generation for the Finite Element Analysis in three and four dimensions. CRTC effort and focus is on research activities that combine domain-and application-speciﬁc knowledge with run-time system support to improve energy efficiency and scalability of parallel FE mesh generation codes. Traditionally, parallel FE mesh generation methods and software are developed without considering the architectural features of the supercomputer platforms on which they are eventually used for production. The main reason is the complexity of sequential, and moreover parallel, mesh generation algorithms. As a result, it is too expensive, in terms of labor and time, to customize the performance of parallel mesh generation software for speciﬁc supercomputing architectures.  CRTC’s basic research is funded from NSF, NASA, NRA, total $2M and target  (bio-)engineering applications are: [[#Extreme-Scale_Parallel_Mesh_Generation_&amp;amp;_Adaptation | Aerospace Industry Applications]] and [[#Medical_Image_Computing | Health Care Industry Applications]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
'''&amp;lt;big&amp;gt;Principles for Building Practical and Scalable Domain-Specific Environment:  Adaptive Data-Driven Mesh Generation for Modeling &amp;amp; Simulations&amp;lt;/big&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
[[File:Adaptivity PPoSS.png|thumb|center|600px| This graph indicates the core enabling technologies we develop at CRTC: (i) Adaptive Tessellation Techniques: Theory and Systems and the corresponding and (ii) Parallel Runtime Software Systems required to run on current and emerging Supercomputers. The pictures around indicate the five main applications we target from left to right: (a) Computational Fluid Dynamics, (b) Numerical Flow Simulations used to Predict Flow Diversion Treatment Efficacy of Cerebral Aneurysms,  (c) Trauma Brain Injuries,  (d) Physic Based Adaptive Deformable Registration used in Image-Guided Neurosurgery, and (e) Imaging for Nuclear Femtography with our collaborators: from NASA/LARC, Stony Brook Medical School, Navy Research Lab, Harvard Medical School, and Physics and Jefferson Lab, respectively. The common denominator for all these applications is adaptive parallel tessellation ( or known in the science and engineering community as mesh generation or image-to-mesh conversion). Parallel mesh generation is &amp;quot;a new research area between the boundaries of two [https://en.wikipedia.org/wiki/Scientific_computing scientific computing] disciplines: [https://en.wikipedia.org/wiki/Computational_geometry computational geometry] and [https://en.wikipedia.org/wiki/Parallel_computing parallel computing]&amp;quot; [https://en.wikipedia.org/wiki/Parallel_mesh_generation]. The applications are listed (left to right) with respect to interactions of input form Computer-Aided Design to Sensor data like MRI, US, etc.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Broader Impact'''&lt;br /&gt;
The proposed activity will have a signiﬁcant and broader impact on research and education, well beyond the bounds of this speciﬁc project and its external collaborators. Other than the direct impact to parallel unstructured mesh generation and runtime systems for supercomputers like Blue Waters, this project will beneﬁt the performance evaluation community. This project will also promote the understanding on CerebroVascular Disease (CVD, or stroke), Image Guided Surgery for Caner, and DBS for Parkisons disease,  all of which are leading natural death causes in the US. &lt;br /&gt;
&lt;br /&gt;
'''Intellectual Merit'''&lt;br /&gt;
The Intellectual Merit of this project is summarized in terms of three novel contributions: (1) an understanding of the complex computation, communication, and memory utilization patterns in a telescopic superposition of multiple parallel mesh generation codes, (2) new abstractions to efficiently throttle concurrency and to implement race-to-halt execution models at multiple levels of granularity, while orchestrating intra-and inter-layer memory management, data movement, and load balancing to improve energy-efficiency of memory and interconnect components, and (3) a novel approach to leveraging off-the-shelf and state-of-the-art low core meshing codes for highly parallel simulations.&lt;br /&gt;
&lt;br /&gt;
== Extreme-Scale Adaptive/Anisotropic  Parallel Mesh Generation ==&lt;br /&gt;
&amp;lt;gallery heights=300px widths=300px mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
File:telescopic_and_meshes.jpg&lt;br /&gt;
File:CDT3D slide rocket nacelle.jpg ‎&lt;br /&gt;
File:Dlr airbus.jpg&lt;br /&gt;
File:Scitech 2019 delta wing.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=200px widths=200px mode=&amp;quot;packed-hover&amp;quot; caption=&amp;quot;CDT3D Meshes using speculative execution model at the chip level&amp;quot;&amp;gt;&lt;br /&gt;
File:CDT3D.jpg|130px|CDT3D Mesh&lt;br /&gt;
File:Rocket_Mesh.jpg|130px|DLR-F6 Airbus &lt;br /&gt;
File:Output_grid.jpg|130px|Rocket with Engine Mesh&lt;br /&gt;
|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
||||'''CDT3D Meshes using speculative execution model at the chip level'''&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Finite Element Mesh Generation is a critical component for many (bio-) engineering and science applications. The goal of this project is to deliver a novel Telescopic framework for highly scalable and energy efficient codes.  Domain-and application-specific knowledge and run-time system support are combined to improve accuracy of FE computations. &lt;br /&gt;
&lt;br /&gt;
CRTCLab addresses in depth two pillars: (i) high performance computing software runtime systems and (ii) mesh generation &amp;amp; adaptation based on error-metrics for NASA’s Computational Fluid Dynamics (CFD) Vision 2030. Specifically, CRTC’s focus is on the following three objectives: (1) design a multi-layered algorithmic and software framework for 3D tetrahedral anisotropic parallel mesh generation using state-of-the-art functionality supported by algorithms from AFLR and CRTC’s telescopic approach for parallel mesh generation , (2) develop error-based metrics adaptive anisotropic FE mesh generation methods and (3) design a power-aware parallel runtime software system for extreme-scale adaptive CFD computations including: (i) mesh generation &amp;amp; adaptation, and (ii) consistent error-based metrics for adaptation of any CFD discretizations with localizable error estimates. &amp;lt;u&amp;gt; This is a joined project with NASA/LaRC and MIT. &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: SubGroup1.jpg|thumb|right|500px| '''CRTC's sub-group for Extreme Scale Parallel Mesh Generation &amp;amp; Adaptation, from left to right: Nikos Chrisochoides, Kevin Garner, Dana Hammond (former TM from NASA/LaRC), Christos Tsolakis and Polykarpos Thomadakis. ''']]&lt;br /&gt;
We  have  assembled  a  team  of  established  leaders  (see [https://cepm.cs.odu.edu/People#External_Collaborators External Collaborators]) that are currently developing state-of-the-art work  on mesh generation and adaptivity issues  relevant  to NASA’s CFD 2030 Vision and will broadly impact end-user productivity of users throughout DoD and NASA.&lt;br /&gt;
&lt;br /&gt;
'''Objectives'''&lt;br /&gt;
:# Design  a  multi-layered  algorithmic  and  software  framework  for  3D  tetrahedral anisotropic parallel mesh generation methods using state-of-the-art functionality supported by methods implemented in AFLR and CRTC’s telescopic approach for parallel mesh generation.&lt;br /&gt;
:# Development of error-based metrics to drive an anisotropic adaptive process&lt;br /&gt;
:# Design a power-aware parallel runtime software system for extreme-scale adaptive CFD computations including:  (i) mesh generation  &amp;amp; adaptation,  and  (ii) consistent error-based  metrics  for adaptation of any CFD discretization with localizable error estimates.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Real-time Adaptive Mesh Generation in Medical Image Computing ==&lt;br /&gt;
&lt;br /&gt;
This application is using adaptive (isotropic) mesh refinement to improve (in real-time in the context of image-guided neurosurgery) the accuracy of 3D Physics-Based Deformable Registration of intra-operative MRI with pre-operative MRI. &lt;br /&gt;
&lt;br /&gt;
=== Overview === &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: CT imaging.jpg|thumb|right|500px| '''Deep Brain Stimulation – CT Imaging obtained from Neurosurgical Section of SE PADRECC McGuire VAMC (with VCU)''']]&lt;br /&gt;
:* Develop adaptive deformable registration method for Deep Brain Stimulation (DBS). DBS is an effective palliative therapy for patients suffering from Essential Tremor, Parkinson’s disease, and other neurological movement disorders.  Modern DBS surgery makes use of stereotactic systems and image guidance to accurately place electrode leads, as well as intra-operative imaging to surveil the location of the leads and guide the surgery. The effectiveness of DBS is directly correlated with the accuracy of DBS electrode lead placement, with more accurate electrode placement leading to better clinical outcomes. &amp;lt;u&amp;gt; This project is a joined with VCU, VA. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: Health-care.jpg|thumb|left|500px| '''APBNRR ''']]&lt;br /&gt;
:* Develop a new Adaptive Physics-Based Non-Rigid Registration (APBNRR) method developed for image guided brain tumor resection.  Existing evaluation indicates that the  the registration accuracy and performance of APBNRR are proved sufficient to be of clinical value in the operating room. Malignant gliomas are the most common primary and metastatic brain tumors. Treatment typically includes surgical removal followed by radiotherapy or chemotherapy. Total resection is difficult to achieve during tumor removal because of the infiltrative nature of gliomas and because brain tumors are often embedded in critical functional brain tissue. In image-guided neurosurgery, co-registered pre-operative anatomical, functional, and diffusion tensor imaging can be used to facilitate a maximally safe resection of brain tumors in certain areas of the brain. However, because the brain can deform significantly during surgery, particularly in the presence of tumor resection, non-rigid registration of the preoperative image data to the patient is required. &amp;lt;u&amp;gt; This is a joined project with Harvard Medical School, MA. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: ExtremeScale.jpg|thumb|right|500px| '''Images created by the I2M tool using the CBC3D Method''']]&lt;br /&gt;
:* Test five new available (in the clinic) neurovascular devices that have not been compared before through angiographic washout analysis and accurate micro CT-based tessellation (i.e., mesh or grid reconstruction) and CFD analysis in idealized sidewall aneurysm models. The CFD simulations and angiographic washout analysis will be performed on flow diverter implantations in actual patient geometries. There is a need for robust and easy-to-use Image-to-Mesh (I2M) conversion methods and software that streamline the discretization of such complex vascular geometries with fine structures with the CFD modeling process. In this project we will focus on the development and validation of fully functional I2M conversion algorithms and software (i.e., tools) for complex vascular geometries with fine structures like stents. &amp;lt;u&amp;gt; This is a joined project with Medical School at Stony Brook University, NY. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=Main_Page&amp;diff=9030</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=Main_Page&amp;diff=9030"/>
				<updated>2023-05-12T11:41:40Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* Congratulations to Dr. Thomadakis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Thanksgiving lunch 2019.jpg|600px|thumb|frameless|center| Chrisochoides' Real-Time Computing (or in short CRTC) group before the pandemic.]]&lt;br /&gt;
&lt;br /&gt;
== Announcements == &lt;br /&gt;
&lt;br /&gt;
=== Congratulations to Dr. Thomadakis===&lt;br /&gt;
[[File:Polykarpos-Grad.jpeg|200px|left]] &lt;br /&gt;
&lt;br /&gt;
I want to offer congratulations to Dr. Thomadakis for his impressive Ph.D. work and for defending and officially completing all his Ph.D. requirements, today! &lt;br /&gt;
&lt;br /&gt;
The AI part of his PhD work was completed in collaboration with [https://www.linkedin.com/in/gagik-gavalian-55926725/ Dr. Gagik Gavalian] from [https://www.jlab.org/ Jefferson Lab] and other former members of the [https://crtc.cs.odu.edu/Main_Page CRTC], including current member Kevin Garner. Some of the findings from his research is projected to have a significant impact over the next decade, with a value of approximately $100 million. &lt;br /&gt;
&lt;br /&gt;
These results were confirmed by Nuclear Physicists in a [https://www.odu.edu/article/ai-collaboration-between-odu-jefferson-lab-improves-data-analysis recent article], and Dr. Gavalian presented the findings in [https://indico.jlab.org/event/459/contributions/11745/attachments/9491/13757/CHEP-05-2023-Gavalian.pdf CHEP'23]. [https://www.odu.edu/directory/lawrence-weinstein Dr. Lawrence Weinstein], an ODU Eminent Scholar, professor of physics, and past chair of the Jefferson Lab Users Organization, acknowledged that the project has improved particle trajectory reconstruction, resulting in a 35% increase in the number of reconstructed complicated nuclear collisions. This means that &amp;quot;more physics from the same data&amp;quot; is possible, which would have otherwise cost about $5 million per year. Dr. Gavalian's new results show that there has been an increase in statistics for physics observables of approximately 50-80%. &lt;br /&gt;
&lt;br /&gt;
Next, Dr. Gagik will be looking into applying lessons learned to other Jefferson Lab Halls (sensors) and we will be putting this AI work in “steroids” using Quantum Machine Learning. Our preliminary results in Quantum Computing indicate that this is feasible.&lt;br /&gt;
&lt;br /&gt;
These accomplishments would not have been possible without the small investment from Jefferson Lab ($100K) and the Richard T. Cheng Endowment ($50K), as well as the help of many others, including the Dragas Foundation, which has assisted Olga Karadimou, an exceptional Ph.D. student at ODU, in staying at ODU with Polykarpos.&lt;br /&gt;
&lt;br /&gt;
===Molecular Dynamics===&lt;br /&gt;
==== SARS-CoV-2 D614 (original strain) Spike Cleavage Site Interaction with Furin ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/S5-D614-w-furin.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 G614 (new strain) Spike Cleavage Site Interaction with Furin ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/S6-G614-w-furin.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Molecular Geometric Feature Analysis===&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 G614 Spike Cleavage Domain Tunnels (red-blue) Superimposed on D614 Spike Cleavage Domain with D614 Tunnel (purple-orange) using the atomic structure from the original strain ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/D614-G614-TunnelsSuperimposeAnim-web.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Remark''': Notice the difference between the position of new tunnels where the C &amp;amp; O used to be in the original COVID19 strain &lt;br /&gt;
&lt;br /&gt;
To see other videos please click [[Molecular Geometric Feature Analysis | here]].&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 D614 vs G614 Mutation in Spike Cleavage Domain ====&lt;br /&gt;
&amp;lt;gallery heights=300px widths=300px mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_1.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_2.png ‎&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_3.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_4.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_5.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_6.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_7.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_8.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see other slideshows please click [[Molecular Geometric Feature Analysis | here]].&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Finite Element (FE) mesh generation is a critical component for many (bio-)engineering and science applications. CRTCLab is developing a novel framework for highly scalable and energy-efficient high-quality mesh generation for the Finite Element Analysis in three and four dimensions. CRTC effort and focus is on research activities that combine domain-and application-speciﬁc knowledge with run-time system support to improve energy efficiency and scalability of parallel FE mesh generation codes. Traditionally, parallel FE mesh generation methods and software are developed without considering the architectural features of the supercomputer platforms on which they are eventually used for production. The main reason is the complexity of sequential, and moreover parallel, mesh generation algorithms. As a result, it is too expensive, in terms of labor and time, to customize the performance of parallel mesh generation software for speciﬁc supercomputing architectures.  CRTC’s basic research is funded from NSF, NASA, NRA, total $2M and target  (bio-)engineering applications are: [[#Extreme-Scale_Parallel_Mesh_Generation_&amp;amp;_Adaptation | Aerospace Industry Applications]] and [[#Medical_Image_Computing | Health Care Industry Applications]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
'''&amp;lt;big&amp;gt;Principles for Building Practical and Scalable Domain-Specific Environment:  Adaptive Data-Driven Mesh Generation for Modeling &amp;amp; Simulations&amp;lt;/big&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
[[File:Adaptivity PPoSS.png|thumb|center|600px| This graph indicates the core enabling technologies we develop at CRTC: (i) Adaptive Tessellation Techniques: Theory and Systems and the corresponding and (ii) Parallel Runtime Software Systems required to run on current and emerging Supercomputers. The pictures around indicate the five main applications we target from left to right: (a) Computational Fluid Dynamics, (b) Numerical Flow Simulations used to Predict Flow Diversion Treatment Efficacy of Cerebral Aneurysms,  (c) Trauma Brain Injuries,  (d) Physic Based Adaptive Deformable Registration used in Image-Guided Neurosurgery, and (e) Imaging for Nuclear Femtography with our collaborators: from NASA/LARC, Stony Brook Medical School, Navy Research Lab, Harvard Medical School, and Physics and Jefferson Lab, respectively. The common denominator for all these applications is adaptive parallel tessellation ( or known in the science and engineering community as mesh generation or image-to-mesh conversion). Parallel mesh generation is &amp;quot;a new research area between the boundaries of two [https://en.wikipedia.org/wiki/Scientific_computing scientific computing] disciplines: [https://en.wikipedia.org/wiki/Computational_geometry computational geometry] and [https://en.wikipedia.org/wiki/Parallel_computing parallel computing]&amp;quot; [https://en.wikipedia.org/wiki/Parallel_mesh_generation]. The applications are listed (left to right) with respect to interactions of input form Computer-Aided Design to Sensor data like MRI, US, etc.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Broader Impact'''&lt;br /&gt;
The proposed activity will have a signiﬁcant and broader impact on research and education, well beyond the bounds of this speciﬁc project and its external collaborators. Other than the direct impact to parallel unstructured mesh generation and runtime systems for supercomputers like Blue Waters, this project will beneﬁt the performance evaluation community. This project will also promote the understanding on CerebroVascular Disease (CVD, or stroke), Image Guided Surgery for Caner, and DBS for Parkisons disease,  all of which are leading natural death causes in the US. &lt;br /&gt;
&lt;br /&gt;
'''Intellectual Merit'''&lt;br /&gt;
The Intellectual Merit of this project is summarized in terms of three novel contributions: (1) an understanding of the complex computation, communication, and memory utilization patterns in a telescopic superposition of multiple parallel mesh generation codes, (2) new abstractions to efficiently throttle concurrency and to implement race-to-halt execution models at multiple levels of granularity, while orchestrating intra-and inter-layer memory management, data movement, and load balancing to improve energy-efficiency of memory and interconnect components, and (3) a novel approach to leveraging off-the-shelf and state-of-the-art low core meshing codes for highly parallel simulations.&lt;br /&gt;
&lt;br /&gt;
== Extreme-Scale Adaptive/Anisotropic  Parallel Mesh Generation ==&lt;br /&gt;
&amp;lt;gallery heights=300px widths=300px mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
File:telescopic_and_meshes.jpg&lt;br /&gt;
File:CDT3D slide rocket nacelle.jpg ‎&lt;br /&gt;
File:Dlr airbus.jpg&lt;br /&gt;
File:Scitech 2019 delta wing.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=200px widths=200px mode=&amp;quot;packed-hover&amp;quot; caption=&amp;quot;CDT3D Meshes using speculative execution model at the chip level&amp;quot;&amp;gt;&lt;br /&gt;
File:CDT3D.jpg|130px|CDT3D Mesh&lt;br /&gt;
File:Rocket_Mesh.jpg|130px|DLR-F6 Airbus &lt;br /&gt;
File:Output_grid.jpg|130px|Rocket with Engine Mesh&lt;br /&gt;
|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
||||'''CDT3D Meshes using speculative execution model at the chip level'''&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Finite Element Mesh Generation is a critical component for many (bio-) engineering and science applications. The goal of this project is to deliver a novel Telescopic framework for highly scalable and energy efficient codes.  Domain-and application-specific knowledge and run-time system support are combined to improve accuracy of FE computations. &lt;br /&gt;
&lt;br /&gt;
CRTCLab addresses in depth two pillars: (i) high performance computing software runtime systems and (ii) mesh generation &amp;amp; adaptation based on error-metrics for NASA’s Computational Fluid Dynamics (CFD) Vision 2030. Specifically, CRTC’s focus is on the following three objectives: (1) design a multi-layered algorithmic and software framework for 3D tetrahedral anisotropic parallel mesh generation using state-of-the-art functionality supported by algorithms from AFLR and CRTC’s telescopic approach for parallel mesh generation , (2) develop error-based metrics adaptive anisotropic FE mesh generation methods and (3) design a power-aware parallel runtime software system for extreme-scale adaptive CFD computations including: (i) mesh generation &amp;amp; adaptation, and (ii) consistent error-based metrics for adaptation of any CFD discretizations with localizable error estimates. &amp;lt;u&amp;gt; This is a joined project with NASA/LaRC and MIT. &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: SubGroup1.jpg|thumb|right|500px| '''CRTC's sub-group for Extreme Scale Parallel Mesh Generation &amp;amp; Adaptation, from left to right: Nikos Chrisochoides, Kevin Garner, Dana Hammond (former TM from NASA/LaRC), Christos Tsolakis and Polykarpos Thomadakis. ''']]&lt;br /&gt;
We  have  assembled  a  team  of  established  leaders  (see [https://cepm.cs.odu.edu/People#External_Collaborators External Collaborators]) that are currently developing state-of-the-art work  on mesh generation and adaptivity issues  relevant  to NASA’s CFD 2030 Vision and will broadly impact end-user productivity of users throughout DoD and NASA.&lt;br /&gt;
&lt;br /&gt;
'''Objectives'''&lt;br /&gt;
:# Design  a  multi-layered  algorithmic  and  software  framework  for  3D  tetrahedral anisotropic parallel mesh generation methods using state-of-the-art functionality supported by methods implemented in AFLR and CRTC’s telescopic approach for parallel mesh generation.&lt;br /&gt;
:# Development of error-based metrics to drive an anisotropic adaptive process&lt;br /&gt;
:# Design a power-aware parallel runtime software system for extreme-scale adaptive CFD computations including:  (i) mesh generation  &amp;amp; adaptation,  and  (ii) consistent error-based  metrics  for adaptation of any CFD discretization with localizable error estimates.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Real-time Adaptive Mesh Generation in Medical Image Computing ==&lt;br /&gt;
&lt;br /&gt;
This application is using adaptive (isotropic) mesh refinement to improve (in real-time in the context of image-guided neurosurgery) the accuracy of 3D Physics-Based Deformable Registration of intra-operative MRI with pre-operative MRI. &lt;br /&gt;
&lt;br /&gt;
=== Overview === &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: CT imaging.jpg|thumb|right|500px| '''Deep Brain Stimulation – CT Imaging obtained from Neurosurgical Section of SE PADRECC McGuire VAMC (with VCU)''']]&lt;br /&gt;
:* Develop adaptive deformable registration method for Deep Brain Stimulation (DBS). DBS is an effective palliative therapy for patients suffering from Essential Tremor, Parkinson’s disease, and other neurological movement disorders.  Modern DBS surgery makes use of stereotactic systems and image guidance to accurately place electrode leads, as well as intra-operative imaging to surveil the location of the leads and guide the surgery. The effectiveness of DBS is directly correlated with the accuracy of DBS electrode lead placement, with more accurate electrode placement leading to better clinical outcomes. &amp;lt;u&amp;gt; This project is a joined with VCU, VA. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: Health-care.jpg|thumb|left|500px| '''APBNRR ''']]&lt;br /&gt;
:* Develop a new Adaptive Physics-Based Non-Rigid Registration (APBNRR) method developed for image guided brain tumor resection.  Existing evaluation indicates that the  the registration accuracy and performance of APBNRR are proved sufficient to be of clinical value in the operating room. Malignant gliomas are the most common primary and metastatic brain tumors. Treatment typically includes surgical removal followed by radiotherapy or chemotherapy. Total resection is difficult to achieve during tumor removal because of the infiltrative nature of gliomas and because brain tumors are often embedded in critical functional brain tissue. In image-guided neurosurgery, co-registered pre-operative anatomical, functional, and diffusion tensor imaging can be used to facilitate a maximally safe resection of brain tumors in certain areas of the brain. However, because the brain can deform significantly during surgery, particularly in the presence of tumor resection, non-rigid registration of the preoperative image data to the patient is required. &amp;lt;u&amp;gt; This is a joined project with Harvard Medical School, MA. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: ExtremeScale.jpg|thumb|right|500px| '''Images created by the I2M tool using the CBC3D Method''']]&lt;br /&gt;
:* Test five new available (in the clinic) neurovascular devices that have not been compared before through angiographic washout analysis and accurate micro CT-based tessellation (i.e., mesh or grid reconstruction) and CFD analysis in idealized sidewall aneurysm models. The CFD simulations and angiographic washout analysis will be performed on flow diverter implantations in actual patient geometries. There is a need for robust and easy-to-use Image-to-Mesh (I2M) conversion methods and software that streamline the discretization of such complex vascular geometries with fine structures with the CFD modeling process. In this project we will focus on the development and validation of fully functional I2M conversion algorithms and software (i.e., tools) for complex vascular geometries with fine structures like stents. &amp;lt;u&amp;gt; This is a joined project with Medical School at Stony Brook University, NY. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=Main_Page&amp;diff=9029</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=Main_Page&amp;diff=9029"/>
				<updated>2023-05-12T11:41:25Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* Congratulations to Dr. Thomadakis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Thanksgiving lunch 2019.jpg|600px|thumb|frameless|center| Chrisochoides' Real-Time Computing (or in short CRTC) group before the pandemic.]]&lt;br /&gt;
&lt;br /&gt;
== Announcements == &lt;br /&gt;
&lt;br /&gt;
=== Congratulations to Dr. Thomadakis===&lt;br /&gt;
[[File:Polykarpos-Grad.jpeg|300px|left]] &lt;br /&gt;
&lt;br /&gt;
I want to offer congratulations to Dr. Thomadakis for his impressive Ph.D. work and for defending and officially completing all his Ph.D. requirements, today! &lt;br /&gt;
&lt;br /&gt;
The AI part of his PhD work was completed in collaboration with [https://www.linkedin.com/in/gagik-gavalian-55926725/ Dr. Gagik Gavalian] from [https://www.jlab.org/ Jefferson Lab] and other former members of the [https://crtc.cs.odu.edu/Main_Page CRTC], including current member Kevin Garner. Some of the findings from his research is projected to have a significant impact over the next decade, with a value of approximately $100 million. &lt;br /&gt;
&lt;br /&gt;
These results were confirmed by Nuclear Physicists in a [https://www.odu.edu/article/ai-collaboration-between-odu-jefferson-lab-improves-data-analysis recent article], and Dr. Gavalian presented the findings in [https://indico.jlab.org/event/459/contributions/11745/attachments/9491/13757/CHEP-05-2023-Gavalian.pdf CHEP'23]. [https://www.odu.edu/directory/lawrence-weinstein Dr. Lawrence Weinstein], an ODU Eminent Scholar, professor of physics, and past chair of the Jefferson Lab Users Organization, acknowledged that the project has improved particle trajectory reconstruction, resulting in a 35% increase in the number of reconstructed complicated nuclear collisions. This means that &amp;quot;more physics from the same data&amp;quot; is possible, which would have otherwise cost about $5 million per year. Dr. Gavalian's new results show that there has been an increase in statistics for physics observables of approximately 50-80%. &lt;br /&gt;
&lt;br /&gt;
Next, Dr. Gagik will be looking into applying lessons learned to other Jefferson Lab Halls (sensors) and we will be putting this AI work in “steroids” using Quantum Machine Learning. Our preliminary results in Quantum Computing indicate that this is feasible.&lt;br /&gt;
&lt;br /&gt;
These accomplishments would not have been possible without the small investment from Jefferson Lab ($100K) and the Richard T. Cheng Endowment ($50K), as well as the help of many others, including the Dragas Foundation, which has assisted Olga Karadimou, an exceptional Ph.D. student at ODU, in staying at ODU with Polykarpos.&lt;br /&gt;
&lt;br /&gt;
===Molecular Dynamics===&lt;br /&gt;
==== SARS-CoV-2 D614 (original strain) Spike Cleavage Site Interaction with Furin ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/S5-D614-w-furin.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 G614 (new strain) Spike Cleavage Site Interaction with Furin ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/S6-G614-w-furin.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Molecular Geometric Feature Analysis===&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 G614 Spike Cleavage Domain Tunnels (red-blue) Superimposed on D614 Spike Cleavage Domain with D614 Tunnel (purple-orange) using the atomic structure from the original strain ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/D614-G614-TunnelsSuperimposeAnim-web.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Remark''': Notice the difference between the position of new tunnels where the C &amp;amp; O used to be in the original COVID19 strain &lt;br /&gt;
&lt;br /&gt;
To see other videos please click [[Molecular Geometric Feature Analysis | here]].&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 D614 vs G614 Mutation in Spike Cleavage Domain ====&lt;br /&gt;
&amp;lt;gallery heights=300px widths=300px mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_1.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_2.png ‎&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_3.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_4.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_5.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_6.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_7.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_8.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see other slideshows please click [[Molecular Geometric Feature Analysis | here]].&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Finite Element (FE) mesh generation is a critical component for many (bio-)engineering and science applications. CRTCLab is developing a novel framework for highly scalable and energy-efficient high-quality mesh generation for the Finite Element Analysis in three and four dimensions. CRTC effort and focus is on research activities that combine domain-and application-speciﬁc knowledge with run-time system support to improve energy efficiency and scalability of parallel FE mesh generation codes. Traditionally, parallel FE mesh generation methods and software are developed without considering the architectural features of the supercomputer platforms on which they are eventually used for production. The main reason is the complexity of sequential, and moreover parallel, mesh generation algorithms. As a result, it is too expensive, in terms of labor and time, to customize the performance of parallel mesh generation software for speciﬁc supercomputing architectures.  CRTC’s basic research is funded from NSF, NASA, NRA, total $2M and target  (bio-)engineering applications are: [[#Extreme-Scale_Parallel_Mesh_Generation_&amp;amp;_Adaptation | Aerospace Industry Applications]] and [[#Medical_Image_Computing | Health Care Industry Applications]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
'''&amp;lt;big&amp;gt;Principles for Building Practical and Scalable Domain-Specific Environment:  Adaptive Data-Driven Mesh Generation for Modeling &amp;amp; Simulations&amp;lt;/big&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
[[File:Adaptivity PPoSS.png|thumb|center|600px| This graph indicates the core enabling technologies we develop at CRTC: (i) Adaptive Tessellation Techniques: Theory and Systems and the corresponding and (ii) Parallel Runtime Software Systems required to run on current and emerging Supercomputers. The pictures around indicate the five main applications we target from left to right: (a) Computational Fluid Dynamics, (b) Numerical Flow Simulations used to Predict Flow Diversion Treatment Efficacy of Cerebral Aneurysms,  (c) Trauma Brain Injuries,  (d) Physic Based Adaptive Deformable Registration used in Image-Guided Neurosurgery, and (e) Imaging for Nuclear Femtography with our collaborators: from NASA/LARC, Stony Brook Medical School, Navy Research Lab, Harvard Medical School, and Physics and Jefferson Lab, respectively. The common denominator for all these applications is adaptive parallel tessellation ( or known in the science and engineering community as mesh generation or image-to-mesh conversion). Parallel mesh generation is &amp;quot;a new research area between the boundaries of two [https://en.wikipedia.org/wiki/Scientific_computing scientific computing] disciplines: [https://en.wikipedia.org/wiki/Computational_geometry computational geometry] and [https://en.wikipedia.org/wiki/Parallel_computing parallel computing]&amp;quot; [https://en.wikipedia.org/wiki/Parallel_mesh_generation]. The applications are listed (left to right) with respect to interactions of input form Computer-Aided Design to Sensor data like MRI, US, etc.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Broader Impact'''&lt;br /&gt;
The proposed activity will have a signiﬁcant and broader impact on research and education, well beyond the bounds of this speciﬁc project and its external collaborators. Other than the direct impact to parallel unstructured mesh generation and runtime systems for supercomputers like Blue Waters, this project will beneﬁt the performance evaluation community. This project will also promote the understanding on CerebroVascular Disease (CVD, or stroke), Image Guided Surgery for Caner, and DBS for Parkisons disease,  all of which are leading natural death causes in the US. &lt;br /&gt;
&lt;br /&gt;
'''Intellectual Merit'''&lt;br /&gt;
The Intellectual Merit of this project is summarized in terms of three novel contributions: (1) an understanding of the complex computation, communication, and memory utilization patterns in a telescopic superposition of multiple parallel mesh generation codes, (2) new abstractions to efficiently throttle concurrency and to implement race-to-halt execution models at multiple levels of granularity, while orchestrating intra-and inter-layer memory management, data movement, and load balancing to improve energy-efficiency of memory and interconnect components, and (3) a novel approach to leveraging off-the-shelf and state-of-the-art low core meshing codes for highly parallel simulations.&lt;br /&gt;
&lt;br /&gt;
== Extreme-Scale Adaptive/Anisotropic  Parallel Mesh Generation ==&lt;br /&gt;
&amp;lt;gallery heights=300px widths=300px mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
File:telescopic_and_meshes.jpg&lt;br /&gt;
File:CDT3D slide rocket nacelle.jpg ‎&lt;br /&gt;
File:Dlr airbus.jpg&lt;br /&gt;
File:Scitech 2019 delta wing.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=200px widths=200px mode=&amp;quot;packed-hover&amp;quot; caption=&amp;quot;CDT3D Meshes using speculative execution model at the chip level&amp;quot;&amp;gt;&lt;br /&gt;
File:CDT3D.jpg|130px|CDT3D Mesh&lt;br /&gt;
File:Rocket_Mesh.jpg|130px|DLR-F6 Airbus &lt;br /&gt;
File:Output_grid.jpg|130px|Rocket with Engine Mesh&lt;br /&gt;
|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
||||'''CDT3D Meshes using speculative execution model at the chip level'''&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Finite Element Mesh Generation is a critical component for many (bio-) engineering and science applications. The goal of this project is to deliver a novel Telescopic framework for highly scalable and energy efficient codes.  Domain-and application-specific knowledge and run-time system support are combined to improve accuracy of FE computations. &lt;br /&gt;
&lt;br /&gt;
CRTCLab addresses in depth two pillars: (i) high performance computing software runtime systems and (ii) mesh generation &amp;amp; adaptation based on error-metrics for NASA’s Computational Fluid Dynamics (CFD) Vision 2030. Specifically, CRTC’s focus is on the following three objectives: (1) design a multi-layered algorithmic and software framework for 3D tetrahedral anisotropic parallel mesh generation using state-of-the-art functionality supported by algorithms from AFLR and CRTC’s telescopic approach for parallel mesh generation , (2) develop error-based metrics adaptive anisotropic FE mesh generation methods and (3) design a power-aware parallel runtime software system for extreme-scale adaptive CFD computations including: (i) mesh generation &amp;amp; adaptation, and (ii) consistent error-based metrics for adaptation of any CFD discretizations with localizable error estimates. &amp;lt;u&amp;gt; This is a joined project with NASA/LaRC and MIT. &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: SubGroup1.jpg|thumb|right|500px| '''CRTC's sub-group for Extreme Scale Parallel Mesh Generation &amp;amp; Adaptation, from left to right: Nikos Chrisochoides, Kevin Garner, Dana Hammond (former TM from NASA/LaRC), Christos Tsolakis and Polykarpos Thomadakis. ''']]&lt;br /&gt;
We  have  assembled  a  team  of  established  leaders  (see [https://cepm.cs.odu.edu/People#External_Collaborators External Collaborators]) that are currently developing state-of-the-art work  on mesh generation and adaptivity issues  relevant  to NASA’s CFD 2030 Vision and will broadly impact end-user productivity of users throughout DoD and NASA.&lt;br /&gt;
&lt;br /&gt;
'''Objectives'''&lt;br /&gt;
:# Design  a  multi-layered  algorithmic  and  software  framework  for  3D  tetrahedral anisotropic parallel mesh generation methods using state-of-the-art functionality supported by methods implemented in AFLR and CRTC’s telescopic approach for parallel mesh generation.&lt;br /&gt;
:# Development of error-based metrics to drive an anisotropic adaptive process&lt;br /&gt;
:# Design a power-aware parallel runtime software system for extreme-scale adaptive CFD computations including:  (i) mesh generation  &amp;amp; adaptation,  and  (ii) consistent error-based  metrics  for adaptation of any CFD discretization with localizable error estimates.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Real-time Adaptive Mesh Generation in Medical Image Computing ==&lt;br /&gt;
&lt;br /&gt;
This application is using adaptive (isotropic) mesh refinement to improve (in real-time in the context of image-guided neurosurgery) the accuracy of 3D Physics-Based Deformable Registration of intra-operative MRI with pre-operative MRI. &lt;br /&gt;
&lt;br /&gt;
=== Overview === &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: CT imaging.jpg|thumb|right|500px| '''Deep Brain Stimulation – CT Imaging obtained from Neurosurgical Section of SE PADRECC McGuire VAMC (with VCU)''']]&lt;br /&gt;
:* Develop adaptive deformable registration method for Deep Brain Stimulation (DBS). DBS is an effective palliative therapy for patients suffering from Essential Tremor, Parkinson’s disease, and other neurological movement disorders.  Modern DBS surgery makes use of stereotactic systems and image guidance to accurately place electrode leads, as well as intra-operative imaging to surveil the location of the leads and guide the surgery. The effectiveness of DBS is directly correlated with the accuracy of DBS electrode lead placement, with more accurate electrode placement leading to better clinical outcomes. &amp;lt;u&amp;gt; This project is a joined with VCU, VA. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: Health-care.jpg|thumb|left|500px| '''APBNRR ''']]&lt;br /&gt;
:* Develop a new Adaptive Physics-Based Non-Rigid Registration (APBNRR) method developed for image guided brain tumor resection.  Existing evaluation indicates that the  the registration accuracy and performance of APBNRR are proved sufficient to be of clinical value in the operating room. Malignant gliomas are the most common primary and metastatic brain tumors. Treatment typically includes surgical removal followed by radiotherapy or chemotherapy. Total resection is difficult to achieve during tumor removal because of the infiltrative nature of gliomas and because brain tumors are often embedded in critical functional brain tissue. In image-guided neurosurgery, co-registered pre-operative anatomical, functional, and diffusion tensor imaging can be used to facilitate a maximally safe resection of brain tumors in certain areas of the brain. However, because the brain can deform significantly during surgery, particularly in the presence of tumor resection, non-rigid registration of the preoperative image data to the patient is required. &amp;lt;u&amp;gt; This is a joined project with Harvard Medical School, MA. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: ExtremeScale.jpg|thumb|right|500px| '''Images created by the I2M tool using the CBC3D Method''']]&lt;br /&gt;
:* Test five new available (in the clinic) neurovascular devices that have not been compared before through angiographic washout analysis and accurate micro CT-based tessellation (i.e., mesh or grid reconstruction) and CFD analysis in idealized sidewall aneurysm models. The CFD simulations and angiographic washout analysis will be performed on flow diverter implantations in actual patient geometries. There is a need for robust and easy-to-use Image-to-Mesh (I2M) conversion methods and software that streamline the discretization of such complex vascular geometries with fine structures with the CFD modeling process. In this project we will focus on the development and validation of fully functional I2M conversion algorithms and software (i.e., tools) for complex vascular geometries with fine structures like stents. &amp;lt;u&amp;gt; This is a joined project with Medical School at Stony Brook University, NY. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=File:Polykarpos-Grad.jpeg&amp;diff=9028</id>
		<title>File:Polykarpos-Grad.jpeg</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=File:Polykarpos-Grad.jpeg&amp;diff=9028"/>
				<updated>2023-05-12T11:40:14Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: Pthomadakis uploaded a new version of File:Polykarpos-Grad.jpeg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=File:Polykarpos-Grad.jpeg&amp;diff=9027</id>
		<title>File:Polykarpos-Grad.jpeg</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=File:Polykarpos-Grad.jpeg&amp;diff=9027"/>
				<updated>2023-05-12T11:33:51Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=Main_Page&amp;diff=9026</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=Main_Page&amp;diff=9026"/>
				<updated>2023-05-12T11:33:10Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* Congratulations to Dr. Thomadakis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Thanksgiving lunch 2019.jpg|600px|thumb|frameless|center| Chrisochoides' Real-Time Computing (or in short CRTC) group before the pandemic.]]&lt;br /&gt;
&lt;br /&gt;
== Announcements == &lt;br /&gt;
&lt;br /&gt;
=== Congratulations to Dr. Thomadakis===&lt;br /&gt;
[[File:Polykarpos-Grad.jpeg]] &lt;br /&gt;
&lt;br /&gt;
I want to offer congratulations to Dr. Thomadakis for his impressive Ph.D. work and for defending and officially completing all his Ph.D. requirements, today! &lt;br /&gt;
&lt;br /&gt;
The AI part of his PhD work was completed in collaboration with [https://www.linkedin.com/in/gagik-gavalian-55926725/ Dr. Gagik Gavalian] from [https://www.jlab.org/ Jefferson Lab] and other former members of the [https://crtc.cs.odu.edu/Main_Page CRTC], including current member Kevin Garner. Some of the findings from his research is projected to have a significant impact over the next decade, with a value of approximately $100 million. &lt;br /&gt;
&lt;br /&gt;
These results were confirmed by Nuclear Physicists in a [https://www.odu.edu/article/ai-collaboration-between-odu-jefferson-lab-improves-data-analysis recent article], and Dr. Gavalian presented the findings in [https://indico.jlab.org/event/459/contributions/11745/attachments/9491/13757/CHEP-05-2023-Gavalian.pdf CHEP'23]. [https://www.odu.edu/directory/lawrence-weinstein Dr. Lawrence Weinstein], an ODU Eminent Scholar, professor of physics, and past chair of the Jefferson Lab Users Organization, acknowledged that the project has improved particle trajectory reconstruction, resulting in a 35% increase in the number of reconstructed complicated nuclear collisions. This means that &amp;quot;more physics from the same data&amp;quot; is possible, which would have otherwise cost about $5 million per year. Dr. Gavalian's new results show that there has been an increase in statistics for physics observables of approximately 50-80%. &lt;br /&gt;
&lt;br /&gt;
Next, Dr. Gagik will be looking into applying lessons learned to other Jefferson Lab Halls (sensors) and we will be putting this AI work in “steroids” using Quantum Machine Learning. Our preliminary results in Quantum Computing indicate that this is feasible.&lt;br /&gt;
&lt;br /&gt;
These accomplishments would not have been possible without the small investment from Jefferson Lab ($100K) and the Richard T. Cheng Endowment ($50K), as well as the help of many others, including the Dragas Foundation, which has assisted Olga Karadimou, an exceptional Ph.D. student at ODU, in staying at ODU with Polykarpos.&lt;br /&gt;
&lt;br /&gt;
===Molecular Dynamics===&lt;br /&gt;
==== SARS-CoV-2 D614 (original strain) Spike Cleavage Site Interaction with Furin ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/S5-D614-w-furin.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 G614 (new strain) Spike Cleavage Site Interaction with Furin ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/S6-G614-w-furin.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Molecular Geometric Feature Analysis===&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 G614 Spike Cleavage Domain Tunnels (red-blue) Superimposed on D614 Spike Cleavage Domain with D614 Tunnel (purple-orange) using the atomic structure from the original strain ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/D614-G614-TunnelsSuperimposeAnim-web.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Remark''': Notice the difference between the position of new tunnels where the C &amp;amp; O used to be in the original COVID19 strain &lt;br /&gt;
&lt;br /&gt;
To see other videos please click [[Molecular Geometric Feature Analysis | here]].&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 D614 vs G614 Mutation in Spike Cleavage Domain ====&lt;br /&gt;
&amp;lt;gallery heights=300px widths=300px mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_1.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_2.png ‎&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_3.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_4.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_5.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_6.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_7.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_8.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see other slideshows please click [[Molecular Geometric Feature Analysis | here]].&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Finite Element (FE) mesh generation is a critical component for many (bio-)engineering and science applications. CRTCLab is developing a novel framework for highly scalable and energy-efficient high-quality mesh generation for the Finite Element Analysis in three and four dimensions. CRTC effort and focus is on research activities that combine domain-and application-speciﬁc knowledge with run-time system support to improve energy efficiency and scalability of parallel FE mesh generation codes. Traditionally, parallel FE mesh generation methods and software are developed without considering the architectural features of the supercomputer platforms on which they are eventually used for production. The main reason is the complexity of sequential, and moreover parallel, mesh generation algorithms. As a result, it is too expensive, in terms of labor and time, to customize the performance of parallel mesh generation software for speciﬁc supercomputing architectures.  CRTC’s basic research is funded from NSF, NASA, NRA, total $2M and target  (bio-)engineering applications are: [[#Extreme-Scale_Parallel_Mesh_Generation_&amp;amp;_Adaptation | Aerospace Industry Applications]] and [[#Medical_Image_Computing | Health Care Industry Applications]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
'''&amp;lt;big&amp;gt;Principles for Building Practical and Scalable Domain-Specific Environment:  Adaptive Data-Driven Mesh Generation for Modeling &amp;amp; Simulations&amp;lt;/big&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
[[File:Adaptivity PPoSS.png|thumb|center|600px| This graph indicates the core enabling technologies we develop at CRTC: (i) Adaptive Tessellation Techniques: Theory and Systems and the corresponding and (ii) Parallel Runtime Software Systems required to run on current and emerging Supercomputers. The pictures around indicate the five main applications we target from left to right: (a) Computational Fluid Dynamics, (b) Numerical Flow Simulations used to Predict Flow Diversion Treatment Efficacy of Cerebral Aneurysms,  (c) Trauma Brain Injuries,  (d) Physic Based Adaptive Deformable Registration used in Image-Guided Neurosurgery, and (e) Imaging for Nuclear Femtography with our collaborators: from NASA/LARC, Stony Brook Medical School, Navy Research Lab, Harvard Medical School, and Physics and Jefferson Lab, respectively. The common denominator for all these applications is adaptive parallel tessellation ( or known in the science and engineering community as mesh generation or image-to-mesh conversion). Parallel mesh generation is &amp;quot;a new research area between the boundaries of two [https://en.wikipedia.org/wiki/Scientific_computing scientific computing] disciplines: [https://en.wikipedia.org/wiki/Computational_geometry computational geometry] and [https://en.wikipedia.org/wiki/Parallel_computing parallel computing]&amp;quot; [https://en.wikipedia.org/wiki/Parallel_mesh_generation]. The applications are listed (left to right) with respect to interactions of input form Computer-Aided Design to Sensor data like MRI, US, etc.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Broader Impact'''&lt;br /&gt;
The proposed activity will have a signiﬁcant and broader impact on research and education, well beyond the bounds of this speciﬁc project and its external collaborators. Other than the direct impact to parallel unstructured mesh generation and runtime systems for supercomputers like Blue Waters, this project will beneﬁt the performance evaluation community. This project will also promote the understanding on CerebroVascular Disease (CVD, or stroke), Image Guided Surgery for Caner, and DBS for Parkisons disease,  all of which are leading natural death causes in the US. &lt;br /&gt;
&lt;br /&gt;
'''Intellectual Merit'''&lt;br /&gt;
The Intellectual Merit of this project is summarized in terms of three novel contributions: (1) an understanding of the complex computation, communication, and memory utilization patterns in a telescopic superposition of multiple parallel mesh generation codes, (2) new abstractions to efficiently throttle concurrency and to implement race-to-halt execution models at multiple levels of granularity, while orchestrating intra-and inter-layer memory management, data movement, and load balancing to improve energy-efficiency of memory and interconnect components, and (3) a novel approach to leveraging off-the-shelf and state-of-the-art low core meshing codes for highly parallel simulations.&lt;br /&gt;
&lt;br /&gt;
== Extreme-Scale Adaptive/Anisotropic  Parallel Mesh Generation ==&lt;br /&gt;
&amp;lt;gallery heights=300px widths=300px mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
File:telescopic_and_meshes.jpg&lt;br /&gt;
File:CDT3D slide rocket nacelle.jpg ‎&lt;br /&gt;
File:Dlr airbus.jpg&lt;br /&gt;
File:Scitech 2019 delta wing.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=200px widths=200px mode=&amp;quot;packed-hover&amp;quot; caption=&amp;quot;CDT3D Meshes using speculative execution model at the chip level&amp;quot;&amp;gt;&lt;br /&gt;
File:CDT3D.jpg|130px|CDT3D Mesh&lt;br /&gt;
File:Rocket_Mesh.jpg|130px|DLR-F6 Airbus &lt;br /&gt;
File:Output_grid.jpg|130px|Rocket with Engine Mesh&lt;br /&gt;
|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
||||'''CDT3D Meshes using speculative execution model at the chip level'''&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Finite Element Mesh Generation is a critical component for many (bio-) engineering and science applications. The goal of this project is to deliver a novel Telescopic framework for highly scalable and energy efficient codes.  Domain-and application-specific knowledge and run-time system support are combined to improve accuracy of FE computations. &lt;br /&gt;
&lt;br /&gt;
CRTCLab addresses in depth two pillars: (i) high performance computing software runtime systems and (ii) mesh generation &amp;amp; adaptation based on error-metrics for NASA’s Computational Fluid Dynamics (CFD) Vision 2030. Specifically, CRTC’s focus is on the following three objectives: (1) design a multi-layered algorithmic and software framework for 3D tetrahedral anisotropic parallel mesh generation using state-of-the-art functionality supported by algorithms from AFLR and CRTC’s telescopic approach for parallel mesh generation , (2) develop error-based metrics adaptive anisotropic FE mesh generation methods and (3) design a power-aware parallel runtime software system for extreme-scale adaptive CFD computations including: (i) mesh generation &amp;amp; adaptation, and (ii) consistent error-based metrics for adaptation of any CFD discretizations with localizable error estimates. &amp;lt;u&amp;gt; This is a joined project with NASA/LaRC and MIT. &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: SubGroup1.jpg|thumb|right|500px| '''CRTC's sub-group for Extreme Scale Parallel Mesh Generation &amp;amp; Adaptation, from left to right: Nikos Chrisochoides, Kevin Garner, Dana Hammond (former TM from NASA/LaRC), Christos Tsolakis and Polykarpos Thomadakis. ''']]&lt;br /&gt;
We  have  assembled  a  team  of  established  leaders  (see [https://cepm.cs.odu.edu/People#External_Collaborators External Collaborators]) that are currently developing state-of-the-art work  on mesh generation and adaptivity issues  relevant  to NASA’s CFD 2030 Vision and will broadly impact end-user productivity of users throughout DoD and NASA.&lt;br /&gt;
&lt;br /&gt;
'''Objectives'''&lt;br /&gt;
:# Design  a  multi-layered  algorithmic  and  software  framework  for  3D  tetrahedral anisotropic parallel mesh generation methods using state-of-the-art functionality supported by methods implemented in AFLR and CRTC’s telescopic approach for parallel mesh generation.&lt;br /&gt;
:# Development of error-based metrics to drive an anisotropic adaptive process&lt;br /&gt;
:# Design a power-aware parallel runtime software system for extreme-scale adaptive CFD computations including:  (i) mesh generation  &amp;amp; adaptation,  and  (ii) consistent error-based  metrics  for adaptation of any CFD discretization with localizable error estimates.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Real-time Adaptive Mesh Generation in Medical Image Computing ==&lt;br /&gt;
&lt;br /&gt;
This application is using adaptive (isotropic) mesh refinement to improve (in real-time in the context of image-guided neurosurgery) the accuracy of 3D Physics-Based Deformable Registration of intra-operative MRI with pre-operative MRI. &lt;br /&gt;
&lt;br /&gt;
=== Overview === &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: CT imaging.jpg|thumb|right|500px| '''Deep Brain Stimulation – CT Imaging obtained from Neurosurgical Section of SE PADRECC McGuire VAMC (with VCU)''']]&lt;br /&gt;
:* Develop adaptive deformable registration method for Deep Brain Stimulation (DBS). DBS is an effective palliative therapy for patients suffering from Essential Tremor, Parkinson’s disease, and other neurological movement disorders.  Modern DBS surgery makes use of stereotactic systems and image guidance to accurately place electrode leads, as well as intra-operative imaging to surveil the location of the leads and guide the surgery. The effectiveness of DBS is directly correlated with the accuracy of DBS electrode lead placement, with more accurate electrode placement leading to better clinical outcomes. &amp;lt;u&amp;gt; This project is a joined with VCU, VA. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: Health-care.jpg|thumb|left|500px| '''APBNRR ''']]&lt;br /&gt;
:* Develop a new Adaptive Physics-Based Non-Rigid Registration (APBNRR) method developed for image guided brain tumor resection.  Existing evaluation indicates that the  the registration accuracy and performance of APBNRR are proved sufficient to be of clinical value in the operating room. Malignant gliomas are the most common primary and metastatic brain tumors. Treatment typically includes surgical removal followed by radiotherapy or chemotherapy. Total resection is difficult to achieve during tumor removal because of the infiltrative nature of gliomas and because brain tumors are often embedded in critical functional brain tissue. In image-guided neurosurgery, co-registered pre-operative anatomical, functional, and diffusion tensor imaging can be used to facilitate a maximally safe resection of brain tumors in certain areas of the brain. However, because the brain can deform significantly during surgery, particularly in the presence of tumor resection, non-rigid registration of the preoperative image data to the patient is required. &amp;lt;u&amp;gt; This is a joined project with Harvard Medical School, MA. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: ExtremeScale.jpg|thumb|right|500px| '''Images created by the I2M tool using the CBC3D Method''']]&lt;br /&gt;
:* Test five new available (in the clinic) neurovascular devices that have not been compared before through angiographic washout analysis and accurate micro CT-based tessellation (i.e., mesh or grid reconstruction) and CFD analysis in idealized sidewall aneurysm models. The CFD simulations and angiographic washout analysis will be performed on flow diverter implantations in actual patient geometries. There is a need for robust and easy-to-use Image-to-Mesh (I2M) conversion methods and software that streamline the discretization of such complex vascular geometries with fine structures with the CFD modeling process. In this project we will focus on the development and validation of fully functional I2M conversion algorithms and software (i.e., tools) for complex vascular geometries with fine structures like stents. &amp;lt;u&amp;gt; This is a joined project with Medical School at Stony Brook University, NY. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=Main_Page&amp;diff=9018</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=Main_Page&amp;diff=9018"/>
				<updated>2023-05-12T01:56:32Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* Congratulations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Thanksgiving lunch 2019.jpg|600px|thumb|frameless|center| Chrisochoides' Real-Time Computing (or in short CRTC) group before the pandemic.]]&lt;br /&gt;
&lt;br /&gt;
== Announcements == &lt;br /&gt;
&lt;br /&gt;
=== Congratulations===&lt;br /&gt;
I want to offer congratulations to Dr. Thomadakis for his impressive Ph.D. work. Defend and officially complete all his Ph.D. requirements, today! &lt;br /&gt;
&lt;br /&gt;
The AI part of it was completed in collaboration with [https://www.linkedin.com/in/gagik-gavalian-55926725/ Dr. Gagik Gavalian] from [https://www.jlab.org/ Jefferson Lab] and other members of the [https://crtc.cs.odu.edu/Main_Page CRTC], including Kevin Garner. Some of the findings from his research is projected to have a significant impact over the next decade, with a value of approximately $100 million. &lt;br /&gt;
&lt;br /&gt;
These results were confirmed by Nuclear Physicists in a [https://www.odu.edu/article/ai-collaboration-between-odu-jefferson-lab-improves-data-analysis recent article], and Dr. Gavalian presented the findings in [https://indico.jlab.org/event/459/contributions/11745/attachments/9491/13757/CHEP-05-2023-Gavalian.pdf CHEP'23]. [https://www.odu.edu/directory/lawrence-weinstein Dr. Lawrence Weinstein], an ODU Eminent Scholar, professor of physics, and past chair of the Jefferson Lab Users Organization, acknowledged that the project has improved particle trajectory reconstruction, resulting in a 35% increase in the number of reconstructed complicated nuclear collisions. This means that &amp;quot;more physics from the same data&amp;quot; is possible, which would have otherwise cost about $5 million per year. Dr. Gavalian's new results show that there has been an increase in statistics for physics observables of approximately 50-80%. &lt;br /&gt;
&lt;br /&gt;
This accomplishment would not have been possible without the small investment from Jefferson Lab ($100K) and the Richard T. Cheng Endowment ($50K), as well as the help of many others, including the Dragas Foundation, which has assisted Olga Karadimou, an exceptional Ph.D. student at ODU, in staying at ODU with Polykarpos.&lt;br /&gt;
&lt;br /&gt;
===Molecular Dynamics===&lt;br /&gt;
==== SARS-CoV-2 D614 (original strain) Spike Cleavage Site Interaction with Furin ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/S5-D614-w-furin.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 G614 (new strain) Spike Cleavage Site Interaction with Furin ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/S6-G614-w-furin.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Molecular Geometric Feature Analysis===&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 G614 Spike Cleavage Domain Tunnels (red-blue) Superimposed on D614 Spike Cleavage Domain with D614 Tunnel (purple-orange) using the atomic structure from the original strain ====&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;video width=&amp;quot;700&amp;quot; height=&amp;quot;500&amp;quot; controls loop&amp;gt;&lt;br /&gt;
      &amp;lt;source src=&amp;quot;https://crtc.cs.odu.edu/assets/videos/D614-G614-TunnelsSuperimposeAnim-web.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot;&amp;gt;&lt;br /&gt;
      Your browser does not support the video tag.&lt;br /&gt;
    &amp;lt;/video&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Remark''': Notice the difference between the position of new tunnels where the C &amp;amp; O used to be in the original COVID19 strain &lt;br /&gt;
&lt;br /&gt;
To see other videos please click [[Molecular Geometric Feature Analysis | here]].&lt;br /&gt;
&lt;br /&gt;
==== SARS-CoV-2 D614 vs G614 Mutation in Spike Cleavage Domain ====&lt;br /&gt;
&amp;lt;gallery heights=300px widths=300px mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_1.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_2.png ‎&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_3.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_4.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_5.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_6.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_7.png&lt;br /&gt;
File:CRTC_ProteinCavities_D614G_8.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see other slideshows please click [[Molecular Geometric Feature Analysis | here]].&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Finite Element (FE) mesh generation is a critical component for many (bio-)engineering and science applications. CRTCLab is developing a novel framework for highly scalable and energy-efficient high-quality mesh generation for the Finite Element Analysis in three and four dimensions. CRTC effort and focus is on research activities that combine domain-and application-speciﬁc knowledge with run-time system support to improve energy efficiency and scalability of parallel FE mesh generation codes. Traditionally, parallel FE mesh generation methods and software are developed without considering the architectural features of the supercomputer platforms on which they are eventually used for production. The main reason is the complexity of sequential, and moreover parallel, mesh generation algorithms. As a result, it is too expensive, in terms of labor and time, to customize the performance of parallel mesh generation software for speciﬁc supercomputing architectures.  CRTC’s basic research is funded from NSF, NASA, NRA, total $2M and target  (bio-)engineering applications are: [[#Extreme-Scale_Parallel_Mesh_Generation_&amp;amp;_Adaptation | Aerospace Industry Applications]] and [[#Medical_Image_Computing | Health Care Industry Applications]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
'''&amp;lt;big&amp;gt;Principles for Building Practical and Scalable Domain-Specific Environment:  Adaptive Data-Driven Mesh Generation for Modeling &amp;amp; Simulations&amp;lt;/big&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
[[File:Adaptivity PPoSS.png|thumb|center|600px| This graph indicates the core enabling technologies we develop at CRTC: (i) Adaptive Tessellation Techniques: Theory and Systems and the corresponding and (ii) Parallel Runtime Software Systems required to run on current and emerging Supercomputers. The pictures around indicate the five main applications we target from left to right: (a) Computational Fluid Dynamics, (b) Numerical Flow Simulations used to Predict Flow Diversion Treatment Efficacy of Cerebral Aneurysms,  (c) Trauma Brain Injuries,  (d) Physic Based Adaptive Deformable Registration used in Image-Guided Neurosurgery, and (e) Imaging for Nuclear Femtography with our collaborators: from NASA/LARC, Stony Brook Medical School, Navy Research Lab, Harvard Medical School, and Physics and Jefferson Lab, respectively. The common denominator for all these applications is adaptive parallel tessellation ( or known in the science and engineering community as mesh generation or image-to-mesh conversion). Parallel mesh generation is &amp;quot;a new research area between the boundaries of two [https://en.wikipedia.org/wiki/Scientific_computing scientific computing] disciplines: [https://en.wikipedia.org/wiki/Computational_geometry computational geometry] and [https://en.wikipedia.org/wiki/Parallel_computing parallel computing]&amp;quot; [https://en.wikipedia.org/wiki/Parallel_mesh_generation]. The applications are listed (left to right) with respect to interactions of input form Computer-Aided Design to Sensor data like MRI, US, etc.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Broader Impact'''&lt;br /&gt;
The proposed activity will have a signiﬁcant and broader impact on research and education, well beyond the bounds of this speciﬁc project and its external collaborators. Other than the direct impact to parallel unstructured mesh generation and runtime systems for supercomputers like Blue Waters, this project will beneﬁt the performance evaluation community. This project will also promote the understanding on CerebroVascular Disease (CVD, or stroke), Image Guided Surgery for Caner, and DBS for Parkisons disease,  all of which are leading natural death causes in the US. &lt;br /&gt;
&lt;br /&gt;
'''Intellectual Merit'''&lt;br /&gt;
The Intellectual Merit of this project is summarized in terms of three novel contributions: (1) an understanding of the complex computation, communication, and memory utilization patterns in a telescopic superposition of multiple parallel mesh generation codes, (2) new abstractions to efficiently throttle concurrency and to implement race-to-halt execution models at multiple levels of granularity, while orchestrating intra-and inter-layer memory management, data movement, and load balancing to improve energy-efficiency of memory and interconnect components, and (3) a novel approach to leveraging off-the-shelf and state-of-the-art low core meshing codes for highly parallel simulations.&lt;br /&gt;
&lt;br /&gt;
== Extreme-Scale Adaptive/Anisotropic  Parallel Mesh Generation ==&lt;br /&gt;
&amp;lt;gallery heights=300px widths=300px mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
File:telescopic_and_meshes.jpg&lt;br /&gt;
File:CDT3D slide rocket nacelle.jpg ‎&lt;br /&gt;
File:Dlr airbus.jpg&lt;br /&gt;
File:Scitech 2019 delta wing.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=200px widths=200px mode=&amp;quot;packed-hover&amp;quot; caption=&amp;quot;CDT3D Meshes using speculative execution model at the chip level&amp;quot;&amp;gt;&lt;br /&gt;
File:CDT3D.jpg|130px|CDT3D Mesh&lt;br /&gt;
File:Rocket_Mesh.jpg|130px|DLR-F6 Airbus &lt;br /&gt;
File:Output_grid.jpg|130px|Rocket with Engine Mesh&lt;br /&gt;
|- style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
||||'''CDT3D Meshes using speculative execution model at the chip level'''&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
Finite Element Mesh Generation is a critical component for many (bio-) engineering and science applications. The goal of this project is to deliver a novel Telescopic framework for highly scalable and energy efficient codes.  Domain-and application-specific knowledge and run-time system support are combined to improve accuracy of FE computations. &lt;br /&gt;
&lt;br /&gt;
CRTCLab addresses in depth two pillars: (i) high performance computing software runtime systems and (ii) mesh generation &amp;amp; adaptation based on error-metrics for NASA’s Computational Fluid Dynamics (CFD) Vision 2030. Specifically, CRTC’s focus is on the following three objectives: (1) design a multi-layered algorithmic and software framework for 3D tetrahedral anisotropic parallel mesh generation using state-of-the-art functionality supported by algorithms from AFLR and CRTC’s telescopic approach for parallel mesh generation , (2) develop error-based metrics adaptive anisotropic FE mesh generation methods and (3) design a power-aware parallel runtime software system for extreme-scale adaptive CFD computations including: (i) mesh generation &amp;amp; adaptation, and (ii) consistent error-based metrics for adaptation of any CFD discretizations with localizable error estimates. &amp;lt;u&amp;gt; This is a joined project with NASA/LaRC and MIT. &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: SubGroup1.jpg|thumb|right|500px| '''CRTC's sub-group for Extreme Scale Parallel Mesh Generation &amp;amp; Adaptation, from left to right: Nikos Chrisochoides, Kevin Garner, Dana Hammond (former TM from NASA/LaRC), Christos Tsolakis and Polykarpos Thomadakis. ''']]&lt;br /&gt;
We  have  assembled  a  team  of  established  leaders  (see [https://cepm.cs.odu.edu/People#External_Collaborators External Collaborators]) that are currently developing state-of-the-art work  on mesh generation and adaptivity issues  relevant  to NASA’s CFD 2030 Vision and will broadly impact end-user productivity of users throughout DoD and NASA.&lt;br /&gt;
&lt;br /&gt;
'''Objectives'''&lt;br /&gt;
:# Design  a  multi-layered  algorithmic  and  software  framework  for  3D  tetrahedral anisotropic parallel mesh generation methods using state-of-the-art functionality supported by methods implemented in AFLR and CRTC’s telescopic approach for parallel mesh generation.&lt;br /&gt;
:# Development of error-based metrics to drive an anisotropic adaptive process&lt;br /&gt;
:# Design a power-aware parallel runtime software system for extreme-scale adaptive CFD computations including:  (i) mesh generation  &amp;amp; adaptation,  and  (ii) consistent error-based  metrics  for adaptation of any CFD discretization with localizable error estimates.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Real-time Adaptive Mesh Generation in Medical Image Computing ==&lt;br /&gt;
&lt;br /&gt;
This application is using adaptive (isotropic) mesh refinement to improve (in real-time in the context of image-guided neurosurgery) the accuracy of 3D Physics-Based Deformable Registration of intra-operative MRI with pre-operative MRI. &lt;br /&gt;
&lt;br /&gt;
=== Overview === &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: CT imaging.jpg|thumb|right|500px| '''Deep Brain Stimulation – CT Imaging obtained from Neurosurgical Section of SE PADRECC McGuire VAMC (with VCU)''']]&lt;br /&gt;
:* Develop adaptive deformable registration method for Deep Brain Stimulation (DBS). DBS is an effective palliative therapy for patients suffering from Essential Tremor, Parkinson’s disease, and other neurological movement disorders.  Modern DBS surgery makes use of stereotactic systems and image guidance to accurately place electrode leads, as well as intra-operative imaging to surveil the location of the leads and guide the surgery. The effectiveness of DBS is directly correlated with the accuracy of DBS electrode lead placement, with more accurate electrode placement leading to better clinical outcomes. &amp;lt;u&amp;gt; This project is a joined with VCU, VA. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: Health-care.jpg|thumb|left|500px| '''APBNRR ''']]&lt;br /&gt;
:* Develop a new Adaptive Physics-Based Non-Rigid Registration (APBNRR) method developed for image guided brain tumor resection.  Existing evaluation indicates that the  the registration accuracy and performance of APBNRR are proved sufficient to be of clinical value in the operating room. Malignant gliomas are the most common primary and metastatic brain tumors. Treatment typically includes surgical removal followed by radiotherapy or chemotherapy. Total resection is difficult to achieve during tumor removal because of the infiltrative nature of gliomas and because brain tumors are often embedded in critical functional brain tissue. In image-guided neurosurgery, co-registered pre-operative anatomical, functional, and diffusion tensor imaging can be used to facilitate a maximally safe resection of brain tumors in certain areas of the brain. However, because the brain can deform significantly during surgery, particularly in the presence of tumor resection, non-rigid registration of the preoperative image data to the patient is required. &amp;lt;u&amp;gt; This is a joined project with Harvard Medical School, MA. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&lt;br /&gt;
[[File: ExtremeScale.jpg|thumb|right|500px| '''Images created by the I2M tool using the CBC3D Method''']]&lt;br /&gt;
:* Test five new available (in the clinic) neurovascular devices that have not been compared before through angiographic washout analysis and accurate micro CT-based tessellation (i.e., mesh or grid reconstruction) and CFD analysis in idealized sidewall aneurysm models. The CFD simulations and angiographic washout analysis will be performed on flow diverter implantations in actual patient geometries. There is a need for robust and easy-to-use Image-to-Mesh (I2M) conversion methods and software that streamline the discretization of such complex vascular geometries with fine structures with the CFD modeling process. In this project we will focus on the development and validation of fully functional I2M conversion algorithms and software (i.e., tools) for complex vascular geometries with fine structures like stents. &amp;lt;u&amp;gt; This is a joined project with Medical School at Stony Brook University, NY. &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=File:PDR.png&amp;diff=8890</id>
		<title>File:PDR.png</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=File:PDR.png&amp;diff=8890"/>
				<updated>2023-03-24T03:18:17Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=PDR.PODM_Distributed_Memory&amp;diff=8889</id>
		<title>PDR.PODM Distributed Memory</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=PDR.PODM_Distributed_Memory&amp;diff=8889"/>
				<updated>2023-03-24T03:17:25Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* Latest Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Issues ===&lt;br /&gt;
* No reuse of leaves refined by worker nodes. The picture below shows the issue. Two neighbour leaves (0,1) each refined as the main leaf (0 top, 1 bottom) but not refined as a neighor.&lt;br /&gt;
[[File:PDR_PODM_Leaves_not_refined.png| 700px]]&lt;br /&gt;
* Current algorithm uses neighbour traversal to distribute cells to octree leaving some cells out in some cases. Such a case can happen when a cell is part of an octree leaf based on its circumcenter but &lt;br /&gt;
it does not have any neighbour in the same leaf.&lt;br /&gt;
&lt;br /&gt;
[[File:PDR_PODM_Cells_not_distributed.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
* During unpacking the incident cell for each vertex is not set correctly. Specifically, in the case that the initial incident cell is not part of the working unit (Leaf + LVL.1 Neighbours) and thus is not local,&lt;br /&gt;
it is set to the infinite cell. This causes PODM to crash randomly for some cases.&lt;br /&gt;
&lt;br /&gt;
* Another issue comes from the way global IDs are updated for each cell's neighbors' IDs. The code that updates the cell's connectivity using global IDs takes the neighbor's pointer, retrieves its global ID and&lt;br /&gt;
updates the neighborID field. However, when the neighbour is part of another work unit's leaf and is not local this pointer is NULL. In this case the neighborID field is wrongly reset to the infinite cell ID, which &lt;br /&gt;
as result, deletes the connectivity information forever.&lt;br /&gt;
&lt;br /&gt;
* The function that unpacks the required leaves before refinement does not discard duplicate vertices. Duplicate vertices will always be present since each leaf is packed and sent individually, and as a result,&lt;br /&gt;
neighbouring leaves will include the shared vertices. Because duplicate vertices are not handled, multiple vertex objects are created that are in fact the same point geometrically. Thus, two cells that share&lt;br /&gt;
a common vertex could have pointers to two different vertex objects and, as a result, each cell views a different state about the same vertex.&lt;br /&gt;
&lt;br /&gt;
=== Fixes ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR_Fix.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Work_Unit_After_Refinement.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Interesting Findings =&lt;br /&gt;
== Delta 0.880 ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 d3.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 15 d3.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Parallelism.png| 700px]]&lt;br /&gt;
[[File:PDR_PODM_Histogram_15.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 15.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks / 40 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total Time: 824.29&lt;br /&gt;
&lt;br /&gt;
Total Tasks: 11413&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 40.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 40.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks / 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total Time: 378.32&lt;br /&gt;
&lt;br /&gt;
Total Tasks: 12652&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 160 10.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15_d3.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 569.7&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8761&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 326.5&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11201&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 40 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 264.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12826&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_160_10.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer and leaf distribution ==&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 452.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8813&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 271.9&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11455&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 40 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 218.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12517&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer, leaf distribution and extra comm thread ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 1144.7&lt;br /&gt;
&lt;br /&gt;
Total tasks: 1830&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 15 d3 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15_d3.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 354.6&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8892&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 15 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 208.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11468&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 40 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 202.2&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12715&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_160_10.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Delta 0.3780 ==&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time small_delta 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks small_delta 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down small_delta 15.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Latest Results ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Shared MemoryTimes&lt;br /&gt;
|-&lt;br /&gt;
! Cores !! Total Time (s) !! Number of Elements&lt;br /&gt;
|-&lt;br /&gt;
| 40|| 107.8 || 216099955&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ MPI Times&lt;br /&gt;
|-&lt;br /&gt;
!       !! colspan=2 | MPI                      !! colspan=2 | PREMA &lt;br /&gt;
|-&lt;br /&gt;
! Cores !! Total Time (s) !! Number of Elements !! Total Time (s) !! Number of Elements&lt;br /&gt;
|-&lt;br /&gt;
| 100 || 1151.472406|| 49352359 || 208.746450 || 49347855&lt;br /&gt;
|-&lt;br /&gt;
| 200 || 763.70671 || 49357898 || 121.326012 || 49353442&lt;br /&gt;
|-&lt;br /&gt;
| 300 || 537.678638 || 49357092 || 105.812248 || 49351224&lt;br /&gt;
|-&lt;br /&gt;
| 400 || 490.365970 || 49357881 || 93.101481 || 49351626&lt;br /&gt;
|-&lt;br /&gt;
| 500 || 434.921334 || 49347357 || 93.119187 || 49351049&lt;br /&gt;
|-&lt;br /&gt;
| 600 || 466.822803 || 49361647 || 96.243807 || 49345030&lt;br /&gt;
|-&lt;br /&gt;
| 700 || 425.273205 || 49360615 || 97.721654 || 49346798&lt;br /&gt;
|-&lt;br /&gt;
| 800 || 434.638603 || 49349629 || 96.723318 || 49341034&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:PDR.png]]&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=File:Pdr.mpi.png&amp;diff=8888</id>
		<title>File:Pdr.mpi.png</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=File:Pdr.mpi.png&amp;diff=8888"/>
				<updated>2023-03-24T03:16:29Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: Pthomadakis uploaded a new version of File:Pdr.mpi.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=PDR.PODM_Distributed_Memory&amp;diff=8887</id>
		<title>PDR.PODM Distributed Memory</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=PDR.PODM_Distributed_Memory&amp;diff=8887"/>
				<updated>2023-03-24T01:07:58Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* Latest Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Issues ===&lt;br /&gt;
* No reuse of leaves refined by worker nodes. The picture below shows the issue. Two neighbour leaves (0,1) each refined as the main leaf (0 top, 1 bottom) but not refined as a neighor.&lt;br /&gt;
[[File:PDR_PODM_Leaves_not_refined.png| 700px]]&lt;br /&gt;
* Current algorithm uses neighbour traversal to distribute cells to octree leaving some cells out in some cases. Such a case can happen when a cell is part of an octree leaf based on its circumcenter but &lt;br /&gt;
it does not have any neighbour in the same leaf.&lt;br /&gt;
&lt;br /&gt;
[[File:PDR_PODM_Cells_not_distributed.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
* During unpacking the incident cell for each vertex is not set correctly. Specifically, in the case that the initial incident cell is not part of the working unit (Leaf + LVL.1 Neighbours) and thus is not local,&lt;br /&gt;
it is set to the infinite cell. This causes PODM to crash randomly for some cases.&lt;br /&gt;
&lt;br /&gt;
* Another issue comes from the way global IDs are updated for each cell's neighbors' IDs. The code that updates the cell's connectivity using global IDs takes the neighbor's pointer, retrieves its global ID and&lt;br /&gt;
updates the neighborID field. However, when the neighbour is part of another work unit's leaf and is not local this pointer is NULL. In this case the neighborID field is wrongly reset to the infinite cell ID, which &lt;br /&gt;
as result, deletes the connectivity information forever.&lt;br /&gt;
&lt;br /&gt;
* The function that unpacks the required leaves before refinement does not discard duplicate vertices. Duplicate vertices will always be present since each leaf is packed and sent individually, and as a result,&lt;br /&gt;
neighbouring leaves will include the shared vertices. Because duplicate vertices are not handled, multiple vertex objects are created that are in fact the same point geometrically. Thus, two cells that share&lt;br /&gt;
a common vertex could have pointers to two different vertex objects and, as a result, each cell views a different state about the same vertex.&lt;br /&gt;
&lt;br /&gt;
=== Fixes ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR_Fix.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Work_Unit_After_Refinement.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Interesting Findings =&lt;br /&gt;
== Delta 0.880 ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 d3.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 15 d3.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Parallelism.png| 700px]]&lt;br /&gt;
[[File:PDR_PODM_Histogram_15.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 15.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks / 40 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total Time: 824.29&lt;br /&gt;
&lt;br /&gt;
Total Tasks: 11413&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 40.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 40.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks / 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total Time: 378.32&lt;br /&gt;
&lt;br /&gt;
Total Tasks: 12652&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 160 10.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15_d3.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 569.7&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8761&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 326.5&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11201&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 40 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 264.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12826&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_160_10.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer and leaf distribution ==&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 452.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8813&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 271.9&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11455&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 40 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 218.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12517&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer, leaf distribution and extra comm thread ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 1144.7&lt;br /&gt;
&lt;br /&gt;
Total tasks: 1830&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 15 d3 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15_d3.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 354.6&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8892&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 15 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 208.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11468&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 40 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 202.2&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12715&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_160_10.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Delta 0.3780 ==&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time small_delta 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks small_delta 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down small_delta 15.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Latest Results ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Shared MemoryTimes&lt;br /&gt;
|-&lt;br /&gt;
! Cores !! Total Time (s) !! Number of Elements&lt;br /&gt;
|-&lt;br /&gt;
| 40|| 107.8 || 216099955&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ MPI Times&lt;br /&gt;
|-&lt;br /&gt;
!       !! colspan=2 | MPI                      !! colspan=2 | PREMA &lt;br /&gt;
|-&lt;br /&gt;
! Cores !! Total Time (s) !! Number of Elements !! Total Time (s) !! Number of Elements&lt;br /&gt;
|-&lt;br /&gt;
| 100 || 1151.472406|| 49352359 || 208.746450 || 49347855&lt;br /&gt;
|-&lt;br /&gt;
| 200 || 763.70671 || 49357898 || 121.326012 || 49353442&lt;br /&gt;
|-&lt;br /&gt;
| 300 || 537.678638 || 49357092 || 105.812248 || 49351224&lt;br /&gt;
|-&lt;br /&gt;
| 400 || 490.365970 || 49357881 || 93.101481 || 49351626&lt;br /&gt;
|-&lt;br /&gt;
| 500 || 434.921334 || 49347357 || 93.119187 || 49351049&lt;br /&gt;
|-&lt;br /&gt;
| 600 || 466.822803 || 49361647 || 96.243807 || 49345030&lt;br /&gt;
|-&lt;br /&gt;
| 700 || 425.273205 || 49360615 || 97.721654 || 49346798&lt;br /&gt;
|-&lt;br /&gt;
| 800 || 434.638603 || 49349629 || 96.723318 || 49341034&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:pdr.mpi.png]]&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=PDR.PODM_Distributed_Memory&amp;diff=8886</id>
		<title>PDR.PODM Distributed Memory</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=PDR.PODM_Distributed_Memory&amp;diff=8886"/>
				<updated>2023-03-24T01:04:05Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* Latest Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Issues ===&lt;br /&gt;
* No reuse of leaves refined by worker nodes. The picture below shows the issue. Two neighbour leaves (0,1) each refined as the main leaf (0 top, 1 bottom) but not refined as a neighor.&lt;br /&gt;
[[File:PDR_PODM_Leaves_not_refined.png| 700px]]&lt;br /&gt;
* Current algorithm uses neighbour traversal to distribute cells to octree leaving some cells out in some cases. Such a case can happen when a cell is part of an octree leaf based on its circumcenter but &lt;br /&gt;
it does not have any neighbour in the same leaf.&lt;br /&gt;
&lt;br /&gt;
[[File:PDR_PODM_Cells_not_distributed.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
* During unpacking the incident cell for each vertex is not set correctly. Specifically, in the case that the initial incident cell is not part of the working unit (Leaf + LVL.1 Neighbours) and thus is not local,&lt;br /&gt;
it is set to the infinite cell. This causes PODM to crash randomly for some cases.&lt;br /&gt;
&lt;br /&gt;
* Another issue comes from the way global IDs are updated for each cell's neighbors' IDs. The code that updates the cell's connectivity using global IDs takes the neighbor's pointer, retrieves its global ID and&lt;br /&gt;
updates the neighborID field. However, when the neighbour is part of another work unit's leaf and is not local this pointer is NULL. In this case the neighborID field is wrongly reset to the infinite cell ID, which &lt;br /&gt;
as result, deletes the connectivity information forever.&lt;br /&gt;
&lt;br /&gt;
* The function that unpacks the required leaves before refinement does not discard duplicate vertices. Duplicate vertices will always be present since each leaf is packed and sent individually, and as a result,&lt;br /&gt;
neighbouring leaves will include the shared vertices. Because duplicate vertices are not handled, multiple vertex objects are created that are in fact the same point geometrically. Thus, two cells that share&lt;br /&gt;
a common vertex could have pointers to two different vertex objects and, as a result, each cell views a different state about the same vertex.&lt;br /&gt;
&lt;br /&gt;
=== Fixes ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR_Fix.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Work_Unit_After_Refinement.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Interesting Findings =&lt;br /&gt;
== Delta 0.880 ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 d3.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 15 d3.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Parallelism.png| 700px]]&lt;br /&gt;
[[File:PDR_PODM_Histogram_15.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 15.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks / 40 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total Time: 824.29&lt;br /&gt;
&lt;br /&gt;
Total Tasks: 11413&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 40.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 40.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks / 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total Time: 378.32&lt;br /&gt;
&lt;br /&gt;
Total Tasks: 12652&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 160 10.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15_d3.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 569.7&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8761&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 326.5&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11201&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 40 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 264.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12826&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_160_10.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer and leaf distribution ==&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 452.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8813&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 271.9&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11455&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 40 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 218.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12517&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer, leaf distribution and extra comm thread ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 1144.7&lt;br /&gt;
&lt;br /&gt;
Total tasks: 1830&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 15 d3 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15_d3.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 354.6&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8892&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 15 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 208.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11468&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 40 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 202.2&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12715&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_160_10.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Delta 0.3780 ==&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time small_delta 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks small_delta 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down small_delta 15.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Latest Results ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Shared MemoryTimes&lt;br /&gt;
|-&lt;br /&gt;
! Cores !! Total Time (s) !! Number of Elements&lt;br /&gt;
|-&lt;br /&gt;
| 40|| 107.8 || 216099955&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ MPI Times&lt;br /&gt;
|-&lt;br /&gt;
!       !! MPI            !!                   !! PREMA !!&lt;br /&gt;
|-&lt;br /&gt;
! Cores !! Total Time (s) !! Number of Elements !! Total Time (s) !! Number of Elements&lt;br /&gt;
|-&lt;br /&gt;
| 100 || 1151.472406|| 49352359 || 208.746450 || 49347855&lt;br /&gt;
|-&lt;br /&gt;
| 200 || 763.70671 || 49357898 || 121.326012 || 49353442&lt;br /&gt;
|-&lt;br /&gt;
| 300 || 537.678638 || 49357092 || 105.812248 || 49351224&lt;br /&gt;
|-&lt;br /&gt;
| 400 || 490.365970 || 49357881 || 93.101481 || 49351626&lt;br /&gt;
|-&lt;br /&gt;
| 500 || 434.921334 || 49347357 || 93.119187 || 49351049&lt;br /&gt;
|-&lt;br /&gt;
| 600 || 466.822803 || 49361647 || 96.243807 || 49345030&lt;br /&gt;
|-&lt;br /&gt;
| 700 || 425.273205 || 49360615 || 97.721654 || 49346798&lt;br /&gt;
|-&lt;br /&gt;
| 800 || 434.638603 || 49349629 || 96.723318 || 49341034&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:pdr.mpi.png]]&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=PDR.PODM_Distributed_Memory&amp;diff=8879</id>
		<title>PDR.PODM Distributed Memory</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=PDR.PODM_Distributed_Memory&amp;diff=8879"/>
				<updated>2023-03-14T20:44:33Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* Latest Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Issues ===&lt;br /&gt;
* No reuse of leaves refined by worker nodes. The picture below shows the issue. Two neighbour leaves (0,1) each refined as the main leaf (0 top, 1 bottom) but not refined as a neighor.&lt;br /&gt;
[[File:PDR_PODM_Leaves_not_refined.png| 700px]]&lt;br /&gt;
* Current algorithm uses neighbour traversal to distribute cells to octree leaving some cells out in some cases. Such a case can happen when a cell is part of an octree leaf based on its circumcenter but &lt;br /&gt;
it does not have any neighbour in the same leaf.&lt;br /&gt;
&lt;br /&gt;
[[File:PDR_PODM_Cells_not_distributed.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
* During unpacking the incident cell for each vertex is not set correctly. Specifically, in the case that the initial incident cell is not part of the working unit (Leaf + LVL.1 Neighbours) and thus is not local,&lt;br /&gt;
it is set to the infinite cell. This causes PODM to crash randomly for some cases.&lt;br /&gt;
&lt;br /&gt;
* Another issue comes from the way global IDs are updated for each cell's neighbors' IDs. The code that updates the cell's connectivity using global IDs takes the neighbor's pointer, retrieves its global ID and&lt;br /&gt;
updates the neighborID field. However, when the neighbour is part of another work unit's leaf and is not local this pointer is NULL. In this case the neighborID field is wrongly reset to the infinite cell ID, which &lt;br /&gt;
as result, deletes the connectivity information forever.&lt;br /&gt;
&lt;br /&gt;
* The function that unpacks the required leaves before refinement does not discard duplicate vertices. Duplicate vertices will always be present since each leaf is packed and sent individually, and as a result,&lt;br /&gt;
neighbouring leaves will include the shared vertices. Because duplicate vertices are not handled, multiple vertex objects are created that are in fact the same point geometrically. Thus, two cells that share&lt;br /&gt;
a common vertex could have pointers to two different vertex objects and, as a result, each cell views a different state about the same vertex.&lt;br /&gt;
&lt;br /&gt;
=== Fixes ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR_Fix.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Work_Unit_After_Refinement.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Interesting Findings =&lt;br /&gt;
== Delta 0.880 ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 d3.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 15 d3.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Parallelism.png| 700px]]&lt;br /&gt;
[[File:PDR_PODM_Histogram_15.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 15.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks / 40 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total Time: 824.29&lt;br /&gt;
&lt;br /&gt;
Total Tasks: 11413&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 40.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 40.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks / 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total Time: 378.32&lt;br /&gt;
&lt;br /&gt;
Total Tasks: 12652&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 160 10.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15_d3.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 569.7&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8761&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 326.5&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11201&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 40 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 264.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12826&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_160_10.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer and leaf distribution ==&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 452.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8813&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 271.9&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11455&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 40 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 218.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12517&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer, leaf distribution and extra comm thread ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 1144.7&lt;br /&gt;
&lt;br /&gt;
Total tasks: 1830&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 15 d3 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15_d3.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 354.6&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8892&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 15 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 208.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11468&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 40 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 202.2&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12715&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_160_10.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Delta 0.3780 ==&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time small_delta 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks small_delta 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down small_delta 15.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Latest Results ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Shared MemoryTimes&lt;br /&gt;
|-&lt;br /&gt;
! Cores !! Total Time (s) !! Number of Elements&lt;br /&gt;
|-&lt;br /&gt;
| 40|| 107.8 || 216099955&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ MPI Times&lt;br /&gt;
|-&lt;br /&gt;
! Cores !! Total Time (s) !! Number of Elements&lt;br /&gt;
|-&lt;br /&gt;
| 100 || 1151.472406|| 49352359&lt;br /&gt;
|-&lt;br /&gt;
| 200 || 763.70671 || 49357898&lt;br /&gt;
|-&lt;br /&gt;
| 300 || 537.678638 || 49357092&lt;br /&gt;
|-&lt;br /&gt;
| 400 || 490.365970 || 49357881&lt;br /&gt;
|-&lt;br /&gt;
| 500 || 434.921334 || 49347357&lt;br /&gt;
|-&lt;br /&gt;
| 600 || 466.822803 || 49361647&lt;br /&gt;
|-&lt;br /&gt;
| 700 || 425.273205 || 49360615&lt;br /&gt;
|-&lt;br /&gt;
| 800 || 434.638603 || 49349629&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:pdr.mpi.png]]&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=PDR.PODM_Distributed_Memory&amp;diff=8878</id>
		<title>PDR.PODM Distributed Memory</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=PDR.PODM_Distributed_Memory&amp;diff=8878"/>
				<updated>2023-03-14T20:44:10Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* Latest Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Issues ===&lt;br /&gt;
* No reuse of leaves refined by worker nodes. The picture below shows the issue. Two neighbour leaves (0,1) each refined as the main leaf (0 top, 1 bottom) but not refined as a neighor.&lt;br /&gt;
[[File:PDR_PODM_Leaves_not_refined.png| 700px]]&lt;br /&gt;
* Current algorithm uses neighbour traversal to distribute cells to octree leaving some cells out in some cases. Such a case can happen when a cell is part of an octree leaf based on its circumcenter but &lt;br /&gt;
it does not have any neighbour in the same leaf.&lt;br /&gt;
&lt;br /&gt;
[[File:PDR_PODM_Cells_not_distributed.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
* During unpacking the incident cell for each vertex is not set correctly. Specifically, in the case that the initial incident cell is not part of the working unit (Leaf + LVL.1 Neighbours) and thus is not local,&lt;br /&gt;
it is set to the infinite cell. This causes PODM to crash randomly for some cases.&lt;br /&gt;
&lt;br /&gt;
* Another issue comes from the way global IDs are updated for each cell's neighbors' IDs. The code that updates the cell's connectivity using global IDs takes the neighbor's pointer, retrieves its global ID and&lt;br /&gt;
updates the neighborID field. However, when the neighbour is part of another work unit's leaf and is not local this pointer is NULL. In this case the neighborID field is wrongly reset to the infinite cell ID, which &lt;br /&gt;
as result, deletes the connectivity information forever.&lt;br /&gt;
&lt;br /&gt;
* The function that unpacks the required leaves before refinement does not discard duplicate vertices. Duplicate vertices will always be present since each leaf is packed and sent individually, and as a result,&lt;br /&gt;
neighbouring leaves will include the shared vertices. Because duplicate vertices are not handled, multiple vertex objects are created that are in fact the same point geometrically. Thus, two cells that share&lt;br /&gt;
a common vertex could have pointers to two different vertex objects and, as a result, each cell views a different state about the same vertex.&lt;br /&gt;
&lt;br /&gt;
=== Fixes ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR_Fix.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Work_Unit_After_Refinement.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Interesting Findings =&lt;br /&gt;
== Delta 0.880 ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 d3.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 15 d3.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Parallelism.png| 700px]]&lt;br /&gt;
[[File:PDR_PODM_Histogram_15.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 15.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks / 40 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total Time: 824.29&lt;br /&gt;
&lt;br /&gt;
Total Tasks: 11413&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 40.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 40.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks / 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total Time: 378.32&lt;br /&gt;
&lt;br /&gt;
Total Tasks: 12652&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 160 10.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15_d3.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 569.7&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8761&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 326.5&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11201&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 40 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 264.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12826&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_160_10.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer and leaf distribution ==&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 452.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8813&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 271.9&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11455&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 40 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 218.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12517&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer, leaf distribution and extra comm thread ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 1144.7&lt;br /&gt;
&lt;br /&gt;
Total tasks: 1830&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 15 d3 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15_d3.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 354.6&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8892&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 15 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 208.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11468&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 40 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 202.2&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12715&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_160_10.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Delta 0.3780 ==&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time small_delta 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks small_delta 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down small_delta 15.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Latest Results ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Shared MemoryTimes&lt;br /&gt;
|-&lt;br /&gt;
! Cores !! Total Time (s) !! Number of Elements&lt;br /&gt;
|-&lt;br /&gt;
| 40|| 107.8 || 216099955&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ MPI Times&lt;br /&gt;
|-&lt;br /&gt;
! Cores !! Total Time (s) !! Number of Elements&lt;br /&gt;
|-&lt;br /&gt;
| 100 || 1154.338082 || 49352359&lt;br /&gt;
|-&lt;br /&gt;
| 200 || 763.70671 || 49357898&lt;br /&gt;
|-&lt;br /&gt;
| 300 || 537.678638 || 49357092&lt;br /&gt;
|-&lt;br /&gt;
| 400 || 490.365970 || 49357881&lt;br /&gt;
|-&lt;br /&gt;
| 500 || 434.921334 || 49347357&lt;br /&gt;
|-&lt;br /&gt;
| 600 || 466.822803 || 49361647&lt;br /&gt;
|-&lt;br /&gt;
| 700 || 425.273205 || 49360615&lt;br /&gt;
|-&lt;br /&gt;
| 800 || 434.638603 || 49349629&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:pdr.mpi.png]]&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=PDR.PODM_Distributed_Memory&amp;diff=8877</id>
		<title>PDR.PODM Distributed Memory</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=PDR.PODM_Distributed_Memory&amp;diff=8877"/>
				<updated>2023-03-14T20:12:09Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* Latest Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Issues ===&lt;br /&gt;
* No reuse of leaves refined by worker nodes. The picture below shows the issue. Two neighbour leaves (0,1) each refined as the main leaf (0 top, 1 bottom) but not refined as a neighor.&lt;br /&gt;
[[File:PDR_PODM_Leaves_not_refined.png| 700px]]&lt;br /&gt;
* Current algorithm uses neighbour traversal to distribute cells to octree leaving some cells out in some cases. Such a case can happen when a cell is part of an octree leaf based on its circumcenter but &lt;br /&gt;
it does not have any neighbour in the same leaf.&lt;br /&gt;
&lt;br /&gt;
[[File:PDR_PODM_Cells_not_distributed.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
* During unpacking the incident cell for each vertex is not set correctly. Specifically, in the case that the initial incident cell is not part of the working unit (Leaf + LVL.1 Neighbours) and thus is not local,&lt;br /&gt;
it is set to the infinite cell. This causes PODM to crash randomly for some cases.&lt;br /&gt;
&lt;br /&gt;
* Another issue comes from the way global IDs are updated for each cell's neighbors' IDs. The code that updates the cell's connectivity using global IDs takes the neighbor's pointer, retrieves its global ID and&lt;br /&gt;
updates the neighborID field. However, when the neighbour is part of another work unit's leaf and is not local this pointer is NULL. In this case the neighborID field is wrongly reset to the infinite cell ID, which &lt;br /&gt;
as result, deletes the connectivity information forever.&lt;br /&gt;
&lt;br /&gt;
* The function that unpacks the required leaves before refinement does not discard duplicate vertices. Duplicate vertices will always be present since each leaf is packed and sent individually, and as a result,&lt;br /&gt;
neighbouring leaves will include the shared vertices. Because duplicate vertices are not handled, multiple vertex objects are created that are in fact the same point geometrically. Thus, two cells that share&lt;br /&gt;
a common vertex could have pointers to two different vertex objects and, as a result, each cell views a different state about the same vertex.&lt;br /&gt;
&lt;br /&gt;
=== Fixes ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR_Fix.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Work_Unit_After_Refinement.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Interesting Findings =&lt;br /&gt;
== Delta 0.880 ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 d3.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 15 d3.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Parallelism.png| 700px]]&lt;br /&gt;
[[File:PDR_PODM_Histogram_15.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 15.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks / 40 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total Time: 824.29&lt;br /&gt;
&lt;br /&gt;
Total Tasks: 11413&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 40.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 40.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks / 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total Time: 378.32&lt;br /&gt;
&lt;br /&gt;
Total Tasks: 12652&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 160 10.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15_d3.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 569.7&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8761&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 326.5&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11201&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 40 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 264.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12826&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_160_10.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer and leaf distribution ==&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 452.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8813&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 271.9&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11455&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 40 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 218.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12517&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer, leaf distribution and extra comm thread ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 1144.7&lt;br /&gt;
&lt;br /&gt;
Total tasks: 1830&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 15 d3 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15_d3.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 354.6&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8892&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 15 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 208.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11468&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 40 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 202.2&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12715&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_160_10.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Delta 0.3780 ==&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time small_delta 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks small_delta 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down small_delta 15.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Latest Results ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Shared MemoryTimes&lt;br /&gt;
|-&lt;br /&gt;
! Cores !! Total Time (s) !! Number of Elements&lt;br /&gt;
|-&lt;br /&gt;
| 40|| 107.8 || 216099955&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ MPI Times&lt;br /&gt;
|-&lt;br /&gt;
! Cores !! Total Time (s) !! Number of Elements&lt;br /&gt;
|-&lt;br /&gt;
| 100 || 1154.338082 ||&lt;br /&gt;
|-&lt;br /&gt;
| 200 || 763.70671 || 49357898&lt;br /&gt;
|-&lt;br /&gt;
| 300 || 537.678638 || 49357092&lt;br /&gt;
|-&lt;br /&gt;
| 400 || 490.365970 || 49357881&lt;br /&gt;
|-&lt;br /&gt;
| 500 || 434.921334 || 49347357&lt;br /&gt;
|-&lt;br /&gt;
| 600 || 466.822803 || 49361647&lt;br /&gt;
|-&lt;br /&gt;
| 700 || 425.273205 || 49360615&lt;br /&gt;
|-&lt;br /&gt;
| 800 || 434.638603 || 49349629&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:pdr.mpi.png]]&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=File:Pdr.mpi.png&amp;diff=8854</id>
		<title>File:Pdr.mpi.png</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=File:Pdr.mpi.png&amp;diff=8854"/>
				<updated>2023-03-06T13:02:06Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=PDR.PODM_Distributed_Memory&amp;diff=8853</id>
		<title>PDR.PODM Distributed Memory</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=PDR.PODM_Distributed_Memory&amp;diff=8853"/>
				<updated>2023-03-06T13:01:57Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* Latest Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Issues ===&lt;br /&gt;
* No reuse of leaves refined by worker nodes. The picture below shows the issue. Two neighbour leaves (0,1) each refined as the main leaf (0 top, 1 bottom) but not refined as a neighor.&lt;br /&gt;
[[File:PDR_PODM_Leaves_not_refined.png| 700px]]&lt;br /&gt;
* Current algorithm uses neighbour traversal to distribute cells to octree leaving some cells out in some cases. Such a case can happen when a cell is part of an octree leaf based on its circumcenter but &lt;br /&gt;
it does not have any neighbour in the same leaf.&lt;br /&gt;
&lt;br /&gt;
[[File:PDR_PODM_Cells_not_distributed.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
* During unpacking the incident cell for each vertex is not set correctly. Specifically, in the case that the initial incident cell is not part of the working unit (Leaf + LVL.1 Neighbours) and thus is not local,&lt;br /&gt;
it is set to the infinite cell. This causes PODM to crash randomly for some cases.&lt;br /&gt;
&lt;br /&gt;
* Another issue comes from the way global IDs are updated for each cell's neighbors' IDs. The code that updates the cell's connectivity using global IDs takes the neighbor's pointer, retrieves its global ID and&lt;br /&gt;
updates the neighborID field. However, when the neighbour is part of another work unit's leaf and is not local this pointer is NULL. In this case the neighborID field is wrongly reset to the infinite cell ID, which &lt;br /&gt;
as result, deletes the connectivity information forever.&lt;br /&gt;
&lt;br /&gt;
* The function that unpacks the required leaves before refinement does not discard duplicate vertices. Duplicate vertices will always be present since each leaf is packed and sent individually, and as a result,&lt;br /&gt;
neighbouring leaves will include the shared vertices. Because duplicate vertices are not handled, multiple vertex objects are created that are in fact the same point geometrically. Thus, two cells that share&lt;br /&gt;
a common vertex could have pointers to two different vertex objects and, as a result, each cell views a different state about the same vertex.&lt;br /&gt;
&lt;br /&gt;
=== Fixes ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR_Fix.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Work_Unit_After_Refinement.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Interesting Findings =&lt;br /&gt;
== Delta 0.880 ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 d3.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 15 d3.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Parallelism.png| 700px]]&lt;br /&gt;
[[File:PDR_PODM_Histogram_15.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 15.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks / 40 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total Time: 824.29&lt;br /&gt;
&lt;br /&gt;
Total Tasks: 11413&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 40.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 40.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks / 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total Time: 378.32&lt;br /&gt;
&lt;br /&gt;
Total Tasks: 12652&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 160 10.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15_d3.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 569.7&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8761&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 326.5&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11201&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 40 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 264.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12826&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_160_10.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer and leaf distribution ==&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 452.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8813&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 271.9&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11455&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 40 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 218.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12517&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer, leaf distribution and extra comm thread ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 1144.7&lt;br /&gt;
&lt;br /&gt;
Total tasks: 1830&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 15 d3 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15_d3.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 354.6&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8892&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 15 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 208.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11468&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 40 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 202.2&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12715&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_160_10.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Delta 0.3780 ==&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time small_delta 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks small_delta 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down small_delta 15.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Latest Results ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ MPI Times&lt;br /&gt;
|-&lt;br /&gt;
! Cores !! Total Time (s)&lt;br /&gt;
|-&lt;br /&gt;
| 100 || 1154.338082&lt;br /&gt;
|-&lt;br /&gt;
| 200 || 763.70671&lt;br /&gt;
|-&lt;br /&gt;
| 300 || 537.678638&lt;br /&gt;
|-&lt;br /&gt;
| 400 || 490.365970&lt;br /&gt;
|-&lt;br /&gt;
| 500 || 434.921334&lt;br /&gt;
|-&lt;br /&gt;
| 600 || 466.822803&lt;br /&gt;
|-&lt;br /&gt;
| 700 || 425.273205&lt;br /&gt;
|-&lt;br /&gt;
| 800 || 434.638603&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:pdr.mpi.png]]&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=PDR.PODM_Distributed_Memory&amp;diff=8852</id>
		<title>PDR.PODM Distributed Memory</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=PDR.PODM_Distributed_Memory&amp;diff=8852"/>
				<updated>2023-03-06T12:56:11Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* Latest Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Issues ===&lt;br /&gt;
* No reuse of leaves refined by worker nodes. The picture below shows the issue. Two neighbour leaves (0,1) each refined as the main leaf (0 top, 1 bottom) but not refined as a neighor.&lt;br /&gt;
[[File:PDR_PODM_Leaves_not_refined.png| 700px]]&lt;br /&gt;
* Current algorithm uses neighbour traversal to distribute cells to octree leaving some cells out in some cases. Such a case can happen when a cell is part of an octree leaf based on its circumcenter but &lt;br /&gt;
it does not have any neighbour in the same leaf.&lt;br /&gt;
&lt;br /&gt;
[[File:PDR_PODM_Cells_not_distributed.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
* During unpacking the incident cell for each vertex is not set correctly. Specifically, in the case that the initial incident cell is not part of the working unit (Leaf + LVL.1 Neighbours) and thus is not local,&lt;br /&gt;
it is set to the infinite cell. This causes PODM to crash randomly for some cases.&lt;br /&gt;
&lt;br /&gt;
* Another issue comes from the way global IDs are updated for each cell's neighbors' IDs. The code that updates the cell's connectivity using global IDs takes the neighbor's pointer, retrieves its global ID and&lt;br /&gt;
updates the neighborID field. However, when the neighbour is part of another work unit's leaf and is not local this pointer is NULL. In this case the neighborID field is wrongly reset to the infinite cell ID, which &lt;br /&gt;
as result, deletes the connectivity information forever.&lt;br /&gt;
&lt;br /&gt;
* The function that unpacks the required leaves before refinement does not discard duplicate vertices. Duplicate vertices will always be present since each leaf is packed and sent individually, and as a result,&lt;br /&gt;
neighbouring leaves will include the shared vertices. Because duplicate vertices are not handled, multiple vertex objects are created that are in fact the same point geometrically. Thus, two cells that share&lt;br /&gt;
a common vertex could have pointers to two different vertex objects and, as a result, each cell views a different state about the same vertex.&lt;br /&gt;
&lt;br /&gt;
=== Fixes ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR_Fix.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Work_Unit_After_Refinement.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Interesting Findings =&lt;br /&gt;
== Delta 0.880 ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 d3.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 15 d3.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Parallelism.png| 700px]]&lt;br /&gt;
[[File:PDR_PODM_Histogram_15.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 15.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks / 40 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total Time: 824.29&lt;br /&gt;
&lt;br /&gt;
Total Tasks: 11413&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 40.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 40.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks / 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total Time: 378.32&lt;br /&gt;
&lt;br /&gt;
Total Tasks: 12652&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 160 10.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15_d3.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 569.7&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8761&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 326.5&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11201&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 40 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 264.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12826&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_160_10.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer and leaf distribution ==&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 452.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8813&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 271.9&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11455&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 40 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 218.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12517&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer, leaf distribution and extra comm thread ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 1144.7&lt;br /&gt;
&lt;br /&gt;
Total tasks: 1830&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 15 d3 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15_d3.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 354.6&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8892&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 15 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 208.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11468&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 40 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 202.2&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12715&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_160_10.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Delta 0.3780 ==&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time small_delta 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks small_delta 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down small_delta 15.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Latest Results ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ MPI Times&lt;br /&gt;
|-&lt;br /&gt;
! Cores !! Total Time (s)&lt;br /&gt;
|-&lt;br /&gt;
| 100 || 1154.338082&lt;br /&gt;
|-&lt;br /&gt;
| 200 || 763.70671&lt;br /&gt;
|-&lt;br /&gt;
| 300 || 537.678638&lt;br /&gt;
|-&lt;br /&gt;
| 400 || 490.365970&lt;br /&gt;
|-&lt;br /&gt;
| 500 || 434.921334&lt;br /&gt;
|-&lt;br /&gt;
| 600 || 466.822803&lt;br /&gt;
|-&lt;br /&gt;
| 700 || 425.273205&lt;br /&gt;
|-&lt;br /&gt;
| 800 || 434.638603&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=PDR.PODM_Distributed_Memory&amp;diff=8851</id>
		<title>PDR.PODM Distributed Memory</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=PDR.PODM_Distributed_Memory&amp;diff=8851"/>
				<updated>2023-03-06T12:55:52Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* Latest Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Issues ===&lt;br /&gt;
* No reuse of leaves refined by worker nodes. The picture below shows the issue. Two neighbour leaves (0,1) each refined as the main leaf (0 top, 1 bottom) but not refined as a neighor.&lt;br /&gt;
[[File:PDR_PODM_Leaves_not_refined.png| 700px]]&lt;br /&gt;
* Current algorithm uses neighbour traversal to distribute cells to octree leaving some cells out in some cases. Such a case can happen when a cell is part of an octree leaf based on its circumcenter but &lt;br /&gt;
it does not have any neighbour in the same leaf.&lt;br /&gt;
&lt;br /&gt;
[[File:PDR_PODM_Cells_not_distributed.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
* During unpacking the incident cell for each vertex is not set correctly. Specifically, in the case that the initial incident cell is not part of the working unit (Leaf + LVL.1 Neighbours) and thus is not local,&lt;br /&gt;
it is set to the infinite cell. This causes PODM to crash randomly for some cases.&lt;br /&gt;
&lt;br /&gt;
* Another issue comes from the way global IDs are updated for each cell's neighbors' IDs. The code that updates the cell's connectivity using global IDs takes the neighbor's pointer, retrieves its global ID and&lt;br /&gt;
updates the neighborID field. However, when the neighbour is part of another work unit's leaf and is not local this pointer is NULL. In this case the neighborID field is wrongly reset to the infinite cell ID, which &lt;br /&gt;
as result, deletes the connectivity information forever.&lt;br /&gt;
&lt;br /&gt;
* The function that unpacks the required leaves before refinement does not discard duplicate vertices. Duplicate vertices will always be present since each leaf is packed and sent individually, and as a result,&lt;br /&gt;
neighbouring leaves will include the shared vertices. Because duplicate vertices are not handled, multiple vertex objects are created that are in fact the same point geometrically. Thus, two cells that share&lt;br /&gt;
a common vertex could have pointers to two different vertex objects and, as a result, each cell views a different state about the same vertex.&lt;br /&gt;
&lt;br /&gt;
=== Fixes ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR_Fix.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Work_Unit_After_Refinement.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Interesting Findings =&lt;br /&gt;
== Delta 0.880 ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 d3.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 15 d3.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Parallelism.png| 700px]]&lt;br /&gt;
[[File:PDR_PODM_Histogram_15.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 15.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks / 40 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total Time: 824.29&lt;br /&gt;
&lt;br /&gt;
Total Tasks: 11413&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 40.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 40.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks / 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total Time: 378.32&lt;br /&gt;
&lt;br /&gt;
Total Tasks: 12652&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 160 10.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15_d3.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 569.7&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8761&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 326.5&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11201&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 40 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 264.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12826&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_160_10.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer and leaf distribution ==&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 452.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8813&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 271.9&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11455&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 40 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 218.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12517&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer, leaf distribution and extra comm thread ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 1144.7&lt;br /&gt;
&lt;br /&gt;
Total tasks: 1830&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 15 d3 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15_d3.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 354.6&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8892&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 15 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 208.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11468&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 40 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 202.2&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12715&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_160_10.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Delta 0.3780 ==&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time small_delta 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks small_delta 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down small_delta 15.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Latest Results ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Caption text&lt;br /&gt;
|-&lt;br /&gt;
! Cores !! Total Time (s)&lt;br /&gt;
|-&lt;br /&gt;
| 100 || 1154.338082&lt;br /&gt;
|-&lt;br /&gt;
| 200 || 763.70671&lt;br /&gt;
|-&lt;br /&gt;
| 300 || 537.678638&lt;br /&gt;
|-&lt;br /&gt;
| 400 || 490.365970&lt;br /&gt;
|-&lt;br /&gt;
| 500 || 434.921334&lt;br /&gt;
|-&lt;br /&gt;
| 600 || 466.822803&lt;br /&gt;
|-&lt;br /&gt;
| 700 || 425.273205&lt;br /&gt;
|-&lt;br /&gt;
| 800 || 434.638603&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=PDR.PODM_Distributed_Memory&amp;diff=8850</id>
		<title>PDR.PODM Distributed Memory</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=PDR.PODM_Distributed_Memory&amp;diff=8850"/>
				<updated>2023-03-06T12:49:46Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Issues ===&lt;br /&gt;
* No reuse of leaves refined by worker nodes. The picture below shows the issue. Two neighbour leaves (0,1) each refined as the main leaf (0 top, 1 bottom) but not refined as a neighor.&lt;br /&gt;
[[File:PDR_PODM_Leaves_not_refined.png| 700px]]&lt;br /&gt;
* Current algorithm uses neighbour traversal to distribute cells to octree leaving some cells out in some cases. Such a case can happen when a cell is part of an octree leaf based on its circumcenter but &lt;br /&gt;
it does not have any neighbour in the same leaf.&lt;br /&gt;
&lt;br /&gt;
[[File:PDR_PODM_Cells_not_distributed.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
* During unpacking the incident cell for each vertex is not set correctly. Specifically, in the case that the initial incident cell is not part of the working unit (Leaf + LVL.1 Neighbours) and thus is not local,&lt;br /&gt;
it is set to the infinite cell. This causes PODM to crash randomly for some cases.&lt;br /&gt;
&lt;br /&gt;
* Another issue comes from the way global IDs are updated for each cell's neighbors' IDs. The code that updates the cell's connectivity using global IDs takes the neighbor's pointer, retrieves its global ID and&lt;br /&gt;
updates the neighborID field. However, when the neighbour is part of another work unit's leaf and is not local this pointer is NULL. In this case the neighborID field is wrongly reset to the infinite cell ID, which &lt;br /&gt;
as result, deletes the connectivity information forever.&lt;br /&gt;
&lt;br /&gt;
* The function that unpacks the required leaves before refinement does not discard duplicate vertices. Duplicate vertices will always be present since each leaf is packed and sent individually, and as a result,&lt;br /&gt;
neighbouring leaves will include the shared vertices. Because duplicate vertices are not handled, multiple vertex objects are created that are in fact the same point geometrically. Thus, two cells that share&lt;br /&gt;
a common vertex could have pointers to two different vertex objects and, as a result, each cell views a different state about the same vertex.&lt;br /&gt;
&lt;br /&gt;
=== Fixes ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR_Fix.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Work_Unit_After_Refinement.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Interesting Findings =&lt;br /&gt;
== Delta 0.880 ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 d3.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 15 d3.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Parallelism.png| 700px]]&lt;br /&gt;
[[File:PDR_PODM_Histogram_15.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 15.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks / 40 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total Time: 824.29&lt;br /&gt;
&lt;br /&gt;
Total Tasks: 11413&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 40.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 40.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks / 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total Time: 378.32&lt;br /&gt;
&lt;br /&gt;
Total Tasks: 12652&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down 160 10.png| 700px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15_d3.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 569.7&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8761&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 326.5&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11201&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 40 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 264.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12826&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_160_10.png| 700px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr.png| 700px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer and leaf distribution ==&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 452.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8813&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 15 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 271.9&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11455&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks 40 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks 10 cores depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Total time: 218.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12517&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10 par int2ptr leaf dist bad elements.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(int2ptr)&lt;br /&gt;
! Parallel(leafDist,BadEl)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== After Parallel int to pointer, leaf distribution and extra comm thread ==&lt;br /&gt;
=== 15 MPI ranks depth: 3 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 1144.7&lt;br /&gt;
&lt;br /&gt;
Total tasks: 1830&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 d3 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 15 d3 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15_d3.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 d3 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 354.6&lt;br /&gt;
&lt;br /&gt;
Total tasks: 8892&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 15 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 15 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_15.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 15 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 40 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 208.3&lt;br /&gt;
&lt;br /&gt;
Total tasks: 11468&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 40 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 40 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_40.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 40 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 160 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total time: 202.2&lt;br /&gt;
&lt;br /&gt;
Total tasks: 12715&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time 160 10 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histrogram Tasks 160 10 par int2ptr leaf dist bad elements comm thread.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Sequential&lt;br /&gt;
! Parallel(best)&lt;br /&gt;
! Parallel(best+comm_thread)&lt;br /&gt;
|-&lt;br /&gt;
| [[File:PDR_PODM_Time_Break_Down_160_10.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements.png| 500px]]&lt;br /&gt;
| [[File:PDR PODM Time Break Down 160 10 par int2ptr leaf dist bad elements comm thread.png| 500px]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Delta 0.3780 ==&lt;br /&gt;
=== 15 MPI ranks depth: 4 ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:PDR PODM Histogram Time small_delta 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Histogram Tasks small_delta 15.png| 700px]]&lt;br /&gt;
[[File:PDR PODM Time Break Down small_delta 15.png| 700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Latest Results ===&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=How_to_update_publications_page&amp;diff=8725</id>
		<title>How to update publications page</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=How_to_update_publications_page&amp;diff=8725"/>
				<updated>2023-02-10T00:39:44Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* Adding a new paper */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Guide to updating CRTC wiki publication page ==&lt;br /&gt;
This is a short guide on how to update the CRTC wiki publication page. The publication page lists all publications of the CRTC group and is maintained (like the whole wiki) from the CS department's IT group. If you have any issues or questions, please contact: root@cs.odu.edu.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
In order to be able to access the page to modify the publications list you will need the following prerequisites:&lt;br /&gt;
# Have a CS account. All CS students are given such an account when first joining the department.&lt;br /&gt;
# Connect to the [https://systems.cs.odu.edu/VPN_Services CS VPN] or use a machine located in the CS department.&lt;br /&gt;
## Note that connecting to ODU's VPN will not work for this.&lt;br /&gt;
# Be a member of the CRTC group (email root@cs.odu.edu to request this)&lt;br /&gt;
&lt;br /&gt;
== Accessing the publications' administrative page ==&lt;br /&gt;
First access the [[Publications]] page. On the top right you should see red link reading &amp;quot;Authenticated Users&amp;quot; as in the picture below:&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-publ-1.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Click on the link and you should be directed to a login page, like below. Enter you CS account credentials and sign in.&lt;br /&gt;
&lt;br /&gt;
(If you get an error, make sure you are connected to the CS department network or VPN.)&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-publ-2.png|800px]]&lt;br /&gt;
&lt;br /&gt;
If everything was successful, you should see the following html page:&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-publ-3.png|800px]]&lt;br /&gt;
&lt;br /&gt;
== Updating the publications page ==&lt;br /&gt;
Users can perform the following updates to the page:&lt;br /&gt;
# Add a new paper/author/venue/minisymposium&lt;br /&gt;
# Modify an existing paper/author/venue/minisymposium&lt;br /&gt;
# Remove an existing paper/author/venue/minisymposium&lt;br /&gt;
&lt;br /&gt;
=== Adding a new paper ===&lt;br /&gt;
In order to add a new paper, the paper's author(s) and the venue/minisymposium it was submitted to must have been already added to the database through the respective links. &lt;br /&gt;
&lt;br /&gt;
Once this information has been added to the database, it will become available at the respective drop-down menus. &lt;br /&gt;
&lt;br /&gt;
An example of the whole process is shown in the steps below.&lt;br /&gt;
&lt;br /&gt;
*Step 1: Add author (Skip if all co-authors have published at least one paper with the CRTC group):&lt;br /&gt;
[[File:Guid-publ-4.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
Simply fill in the fields requeted: [[File:Guid-publ-5.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
Repeat the same process to add more authors.&lt;br /&gt;
&lt;br /&gt;
*Step 2: Add venue/minisymposium (Skip if CRTC group already published there before):&lt;br /&gt;
[[File:Guid-publ-6.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
Simply fill in the fields requested as before: [[File:Guid-publ-7.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
*Step 3: Add paper:&lt;br /&gt;
[[File:Guid-publ-8.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
Select the venue type (Conference or Journal): [[File:Guid-publ-9.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
Simply fill in the fields requested and choose the respective authors and venue from the drop-down menus: &lt;br /&gt;
&lt;br /&gt;
[[File:Guid-publ-10.png | 800px]]&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=How_to_update_publications_page&amp;diff=8724</id>
		<title>How to update publications page</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=How_to_update_publications_page&amp;diff=8724"/>
				<updated>2023-02-10T00:37:53Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* Adding a new paper */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Guide to updating CRTC wiki publication page ==&lt;br /&gt;
This is a short guide on how to update the CRTC wiki publication page. The publication page lists all publications of the CRTC group and is maintained (like the whole wiki) from the CS department's IT group. If you have any issues or questions, please contact: root@cs.odu.edu.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
In order to be able to access the page to modify the publications list you will need the following prerequisites:&lt;br /&gt;
# Have a CS account. All CS students are given such an account when first joining the department.&lt;br /&gt;
# Connect to the [https://systems.cs.odu.edu/VPN_Services CS VPN] or use a machine located in the CS department.&lt;br /&gt;
## Note that connecting to ODU's VPN will not work for this.&lt;br /&gt;
# Be a member of the CRTC group (email root@cs.odu.edu to request this)&lt;br /&gt;
&lt;br /&gt;
== Accessing the publications' administrative page ==&lt;br /&gt;
First access the [[Publications]] page. On the top right you should see red link reading &amp;quot;Authenticated Users&amp;quot; as in the picture below:&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-publ-1.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Click on the link and you should be directed to a login page, like below. Enter you CS account credentials and sign in.&lt;br /&gt;
&lt;br /&gt;
(If you get an error, make sure you are connected to the CS department network or VPN.)&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-publ-2.png|800px]]&lt;br /&gt;
&lt;br /&gt;
If everything was successful, you should see the following html page:&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-publ-3.png|800px]]&lt;br /&gt;
&lt;br /&gt;
== Updating the publications page ==&lt;br /&gt;
Users can perform the following updates to the page:&lt;br /&gt;
# Add a new paper/author/venue/minisymposium&lt;br /&gt;
# Modify an existing paper/author/venue/minisymposium&lt;br /&gt;
# Remove an existing paper/author/venue/minisymposium&lt;br /&gt;
&lt;br /&gt;
=== Adding a new paper ===&lt;br /&gt;
In order to add a new paper, the paper's author(s) and the venue/minisymposium it was submitted to must have been already added to the database through the respective links. &lt;br /&gt;
&lt;br /&gt;
Once this information has been added to the database, it will become available at the respective drop-down menus. &lt;br /&gt;
&lt;br /&gt;
An example of the whole process is shown in the steps below.&lt;br /&gt;
&lt;br /&gt;
*Step 1: Add author (Skip if all co-authors have published at least one paper with the CRTC group):&lt;br /&gt;
[[File:Guid-publ-4.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
Simply fill in the fields requeted: [[File:Guid-publ-5.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
*Step 2: Add venue/minisymposium (Skip if CRTC group already published there before):&lt;br /&gt;
[[File:Guid-publ-6.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
Simply fill in the fields requested as before: [[File:Guid-publ-7.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
*Step 3: Add paper:&lt;br /&gt;
[[File:Guid-publ-8.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
Select the venue type (Conference or Journal): [[File:Guid-publ-9.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
Simply fill in the fields requested and choose the respective authors and venue from the drop-down menus: &lt;br /&gt;
&lt;br /&gt;
[[File:Guid-publ-10.png | 800px]]&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=How_to_update_publications_page&amp;diff=8723</id>
		<title>How to update publications page</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=How_to_update_publications_page&amp;diff=8723"/>
				<updated>2023-02-10T00:37:08Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Guide to updating CRTC wiki publication page ==&lt;br /&gt;
This is a short guide on how to update the CRTC wiki publication page. The publication page lists all publications of the CRTC group and is maintained (like the whole wiki) from the CS department's IT group. If you have any issues or questions, please contact: root@cs.odu.edu.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
In order to be able to access the page to modify the publications list you will need the following prerequisites:&lt;br /&gt;
# Have a CS account. All CS students are given such an account when first joining the department.&lt;br /&gt;
# Connect to the [https://systems.cs.odu.edu/VPN_Services CS VPN] or use a machine located in the CS department.&lt;br /&gt;
## Note that connecting to ODU's VPN will not work for this.&lt;br /&gt;
# Be a member of the CRTC group (email root@cs.odu.edu to request this)&lt;br /&gt;
&lt;br /&gt;
== Accessing the publications' administrative page ==&lt;br /&gt;
First access the [[Publications]] page. On the top right you should see red link reading &amp;quot;Authenticated Users&amp;quot; as in the picture below:&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-publ-1.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Click on the link and you should be directed to a login page, like below. Enter you CS account credentials and sign in.&lt;br /&gt;
&lt;br /&gt;
(If you get an error, make sure you are connected to the CS department network or VPN.)&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-publ-2.png|800px]]&lt;br /&gt;
&lt;br /&gt;
If everything was successful, you should see the following html page:&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-publ-3.png|800px]]&lt;br /&gt;
&lt;br /&gt;
== Updating the publications page ==&lt;br /&gt;
Users can perform the following updates to the page:&lt;br /&gt;
# Add a new paper/author/venue/minisymposium&lt;br /&gt;
# Modify an existing paper/author/venue/minisymposium&lt;br /&gt;
# Remove an existing paper/author/venue/minisymposium&lt;br /&gt;
&lt;br /&gt;
=== Adding a new paper ===&lt;br /&gt;
In order to add a new paper, the paper's author(s) and the venue/minisymposium it was submitted to must have been already added to the database through the respective links. &lt;br /&gt;
&lt;br /&gt;
Once this information has been added to the database, it will become available at the respective drop-down menus. &lt;br /&gt;
&lt;br /&gt;
An example of the whole process is shown in the steps below.&lt;br /&gt;
&lt;br /&gt;
Step 1: Add author (Skip if all co-authors have published at least one paper with the CRTC group):&lt;br /&gt;
[[File:Guid-publ-4.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
Simply fill in the fields requeted: [[File:Guid-publ-5.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
Step 2: Add venue/minisymposium (Skip if CRTC group already published there before):&lt;br /&gt;
[[File:Guid-publ-6.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
Simply fill in the fields requested as before: [[File:Guid-publ-7.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Step 2: Add paper:&lt;br /&gt;
[[File:Guid-publ-8.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
Select the venue type (Conference or Journal): [[File:Guid-publ-9.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
Simply fill in the fields requested and choose the respective authors and venue from the drop-down menus: &lt;br /&gt;
&lt;br /&gt;
[[File:Guid-publ-10.png | 800px]]&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=File:Guid-publ-10.png&amp;diff=8722</id>
		<title>File:Guid-publ-10.png</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=File:Guid-publ-10.png&amp;diff=8722"/>
				<updated>2023-02-10T00:36:29Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=File:Guid-publ-9.png&amp;diff=8721</id>
		<title>File:Guid-publ-9.png</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=File:Guid-publ-9.png&amp;diff=8721"/>
				<updated>2023-02-10T00:36:09Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=File:Guid-publ-8.png&amp;diff=8720</id>
		<title>File:Guid-publ-8.png</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=File:Guid-publ-8.png&amp;diff=8720"/>
				<updated>2023-02-10T00:35:53Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=File:Guid-publ-7.png&amp;diff=8719</id>
		<title>File:Guid-publ-7.png</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=File:Guid-publ-7.png&amp;diff=8719"/>
				<updated>2023-02-10T00:27:24Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=File:Guid-publ-6.png&amp;diff=8718</id>
		<title>File:Guid-publ-6.png</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=File:Guid-publ-6.png&amp;diff=8718"/>
				<updated>2023-02-10T00:25:54Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=File:Guid-publ-5.png&amp;diff=8717</id>
		<title>File:Guid-publ-5.png</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=File:Guid-publ-5.png&amp;diff=8717"/>
				<updated>2023-02-10T00:21:20Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=File:Guid-publ-4.png&amp;diff=8716</id>
		<title>File:Guid-publ-4.png</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=File:Guid-publ-4.png&amp;diff=8716"/>
				<updated>2023-02-10T00:19:01Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=How_to_update_publications_page&amp;diff=8715</id>
		<title>How to update publications page</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=How_to_update_publications_page&amp;diff=8715"/>
				<updated>2023-02-09T23:58:46Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: /* Accessing the publication's administrative page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Guide to updating CRTC wiki publication page ==&lt;br /&gt;
This is a short guide on how to update the CRTC wiki publication page. The publication page lists all publications of the CRTC group and is maintained (like the whole wiki) from the CS department's IT group. If you have any issues or questions, please contact: root@cs.odu.edu.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
In order to be able to access the page to modify the publications list you will need the following prerequisites:&lt;br /&gt;
# Have a CS account. All CS students are given such an account when first joining the department.&lt;br /&gt;
# Connect to the [https://systems.cs.odu.edu/VPN_Services CS VPN] or use a machine located in the CS department.&lt;br /&gt;
## Note that connecting to ODU's VPN will not work for this.&lt;br /&gt;
# Be a member of the CRTC group (email root@cs.odu.edu to request this)&lt;br /&gt;
&lt;br /&gt;
== Accessing the publication's administrative page ==&lt;br /&gt;
First access the [[Publications]] page. On the top right you should see red link reading &amp;quot;Authenticated Users&amp;quot; as in the picture below:&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-publ-1.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Click on the link and you should be directed to a login page, like below. Enter you CS account credentials and signin.&lt;br /&gt;
&lt;br /&gt;
(If you get an error, make sure you are connected to the CS department network or VPN.)&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-publ-2.png|800px]]&lt;br /&gt;
&lt;br /&gt;
If everything was successful, you should see the following html page:&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-publ-3.png|800px]]&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=File:Guide-publ-3.png&amp;diff=8714</id>
		<title>File:Guide-publ-3.png</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=File:Guide-publ-3.png&amp;diff=8714"/>
				<updated>2023-02-09T23:57:02Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=How_to_update_publications_page&amp;diff=8713</id>
		<title>How to update publications page</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=How_to_update_publications_page&amp;diff=8713"/>
				<updated>2023-02-09T23:55:18Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Guide to updating CRTC wiki publication page ==&lt;br /&gt;
This is a short guide on how to update the CRTC wiki publication page. The publication page lists all publications of the CRTC group and is maintained (like the whole wiki) from the CS department's IT group. If you have any issues or questions, please contact: root@cs.odu.edu.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
In order to be able to access the page to modify the publications list you will need the following prerequisites:&lt;br /&gt;
# Have a CS account. All CS students are given such an account when first joining the department.&lt;br /&gt;
# Connect to the [https://systems.cs.odu.edu/VPN_Services CS VPN] or use a machine located in the CS department.&lt;br /&gt;
## Note that connecting to ODU's VPN will not work for this.&lt;br /&gt;
# Be a member of the CRTC group (email root@cs.odu.edu to request this)&lt;br /&gt;
&lt;br /&gt;
== Accessing the publication's administrative page ==&lt;br /&gt;
First access the [[Publications]] page. On the top right you should see red link reading &amp;quot;Authenticated Users&amp;quot; as in the picture below:&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-publ-1.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Click on the link and you should be directed to a login page, like below. Enter you CS account credentials and signin.&lt;br /&gt;
&lt;br /&gt;
(If you get an error, make sure you are connected to the CS department network or VPN.)&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-publ-2.png|800px]]&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=File:Guide-publ-2.png&amp;diff=8712</id>
		<title>File:Guide-publ-2.png</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=File:Guide-publ-2.png&amp;diff=8712"/>
				<updated>2023-02-09T23:52:58Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=File:Guide-publ-1.png&amp;diff=8711</id>
		<title>File:Guide-publ-1.png</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=File:Guide-publ-1.png&amp;diff=8711"/>
				<updated>2023-02-09T23:44:06Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=How_to_update_publications_page&amp;diff=8710</id>
		<title>How to update publications page</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=How_to_update_publications_page&amp;diff=8710"/>
				<updated>2023-02-09T23:43:09Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Guide to updating CRTC wiki publication page ==&lt;br /&gt;
This is a short guide on how to update the CRTC wiki publication page. The publication page lists all publications of the CRTC group and is maintained (like the whole wiki) from the CS department's IT group. If you have any issues or questions, please contact: root@cs.odu.edu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
In order to be able to access the page to modify the publications list you will need the following prerequisites:&lt;br /&gt;
# Have a CS account. All CS students are given such an account when first joining the department.&lt;br /&gt;
# Connect to the [https://systems.cs.odu.edu/VPN_Services CS VPN] or use a machine located in the CS department.&lt;br /&gt;
# Be a member of the CRTC group (email root@cs.odu.edu to request this)&lt;br /&gt;
&lt;br /&gt;
== Accessing the publication's administrative page ==&lt;br /&gt;
First access the [[Publications]] page. On the top right you should see red link reading &amp;quot;Authenticated Users&amp;quot; as in the picture below:&lt;br /&gt;
[[File:Guide-Publ-1.png]]&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=How_to_update_publications_page&amp;diff=8709</id>
		<title>How to update publications page</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=How_to_update_publications_page&amp;diff=8709"/>
				<updated>2023-02-09T23:39:33Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: Created page with &amp;quot;== Guide to updating CRTC wiki publication page == This is a short guide on how to update the CRTC wiki publication page. The publication page lists all publications of the CR...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Guide to updating CRTC wiki publication page ==&lt;br /&gt;
This is a short guide on how to update the CRTC wiki publication page. The publication page lists all publications of the CRTC group and is maintained (like the whole wiki) from the CS department's IT group. If you have any issues or questions, please contact: root@cs.odu.edu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
In order to be able to access the page to modify the publications list you will need the following prerequisites:&lt;br /&gt;
# Have a CS account. All CS students are given such an account when first joining the department.&lt;br /&gt;
# Connect to the [https://systems.cs.odu.edu/VPN_Services CS VPN] or use a machine located in the CS department.&lt;br /&gt;
# Be a member of the CRTC group (email root@cs.odu.edu to request this)&lt;br /&gt;
&lt;br /&gt;
== Accessing the publication's administrative page ==&lt;br /&gt;
First access the [[Publications]] page. On the top right you should see red link reading &amp;quot;Authenticated Users&amp;quot;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=Collaborations&amp;diff=8705</id>
		<title>Collaborations</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=Collaborations&amp;diff=8705"/>
				<updated>2023-02-08T16:57:26Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
The current focus for the CRTC group is on quantum computing, hybrid classical/quantum computing with emphasis on domain-specific languages (a collaboration with VT's Prof. Nikolopoulos), and intelligent runtime software systems for exascale-era heterogeneous architectures. CRTC is open to collaborations in those areas.&lt;br /&gt;
&lt;br /&gt;
The rest of the page lists past (and before the pandemic) collaborations and research activities between CRTC and the broader scientific community from MIT, Harvard Medical School, Stony Brook University,  and RWTH Aachen University, Germany. &lt;br /&gt;
&lt;br /&gt;
== Current Collaborations ==&lt;br /&gt;
&lt;br /&gt;
Quantum Computing [https://crtc.cs.odu.edu/Quantum_Computing_Academy_for_Southeast_Virginia]&lt;br /&gt;
&lt;br /&gt;
== Past Collaborations ==&lt;br /&gt;
&lt;br /&gt;
CRTC  with SBU (Prof. Jim Jiao): Scalable Geometry Abstractions for Extreme-Scale Parallel Mesh Generation&lt;br /&gt;
&lt;br /&gt;
CRTC  with DoE/ANL (Dr. Pete Beckman): Multi-Layered Runtime System on Exascale OS (ARGO)&lt;br /&gt;
&lt;br /&gt;
CRTC with NIA (Hiro Nishikawa) and SBU (Prof. Jim Jiao): mesh generation for high-order convergence schemes&lt;br /&gt;
&lt;br /&gt;
CRTC with Center for Computational Engineering Science at RWTH Aachen University,  Germany (Prof. Marek Bern):  Parallel Space-Time Finite Element Simulations&lt;br /&gt;
&lt;br /&gt;
CRTC with Medical School at SBU (Prof. Barry Lieber and Dr. Chader Sadasivan): Prediction of Long Term Efficacy of Cerebral Aneurysm Bypass by Flow Diversion&lt;br /&gt;
&lt;br /&gt;
CRTC with Medical School at Harvard (Prof. Ron Kikinis,  Prof. Alex Golby, and Dr. Sarah Frisken): Deformable Registration for Brain Tumor Resection &lt;br /&gt;
&lt;br /&gt;
CRTC with School of Medicine at VCU (Prof. Kathy Holloway): Deformable Registration for Deep Brain Stimulation&lt;br /&gt;
&lt;br /&gt;
CRTC with NYU (Prof. Daniele Panozzo): Parallel swappable mesh operations project&lt;br /&gt;
&lt;br /&gt;
CRTC  with NCSA/UIUC (Dr. Andriy Kot, NCSA, UIUC): Multi-Layered Runtime System&lt;br /&gt;
&lt;br /&gt;
CRTC with Queen's Univ. Belfast, UK (Prof. Nikolopoulos): Power-Aware High-Performance Computing Systems&lt;br /&gt;
&lt;br /&gt;
CRTC with MIT (Prof. David Darmofal): Parallel Error-based Grid Adaptation &lt;br /&gt;
&lt;br /&gt;
CRTC with MSU (Prof. David Marcum): Modifications of AFLR for parallel mesh generation&lt;br /&gt;
&lt;br /&gt;
CRTC with NASA/LaRC (Dr. Mike Park): Parallel Adaptive Anisotropic Mesh Generation&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	<entry>
		<id>https://crtc.cs.odu.edu/index.php?title=Quantum_Computing_Academy_for_Southeast_Virginia&amp;diff=8704</id>
		<title>Quantum Computing Academy for Southeast Virginia</title>
		<link rel="alternate" type="text/html" href="https://crtc.cs.odu.edu/index.php?title=Quantum_Computing_Academy_for_Southeast_Virginia&amp;diff=8704"/>
				<updated>2023-02-08T16:52:40Z</updated>
		
		<summary type="html">&lt;p&gt;Pthomadakis: Created blank page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pthomadakis</name></author>	</entry>

	</feed>