forked from tyleransom/tyleransom.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathresearch.html
134 lines (118 loc) · 6.32 KB
/
research.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<!doctype html>
<html lang="en">
<head>
<script src="https://use.fontawesome.com/baff6f55f5.js"></script>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Hongyu Chen by chenhongyu2048</title>
<link rel="stylesheet" href="stylesheets/styles.css">
<link rel="stylesheet" href="stylesheets/github-light.css">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=yes">
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-29643011-3', 'auto');
ga('send', 'pageview');
</script>
<!-- New GA4 tracking code, see https://support.google.com/analytics/answer/10271001#analyticsjs-enable-basic -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-GNJD50R0Z7"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-GNJD50R0Z7');
</script>
<!-- For all browsers -->
<link rel="stylesheet" href="assets/css/academicons.min.css"/>
<link rel="stylesheet" href="assets/css/academicons.css"/>
<style>
button.accordion {
font:14px/1.5 Lato, "Helvetica Neue", Helvetica, Arial, sans-serif;
cursor: pointer;
padding: 0px;
border: none;
text-align: left;
outline: none;
font-size: 100%;
transition: 0.3s;
background-color: #f8f8f8;
}
button.accordion.active, button.accordion:hover {
background-color: #f8f8f8;
}
button.accordion:after {
content: " [+] ";
font-size: 90%;
color:#777;
float: left;
margin-left: 1px;
}
button.accordion.active:after {
content: " [\2212] ";
}
div.panel {
padding: 0 20px;
margin-top: 5px;
display: none;
background-color: white;
font-size: 100%;
}
div.panel.show {
display: block !important;
}
.social-row {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
</style>
</head>
<body>
<div class="wrapper">
<header>
<h1>Hongyu Chen</h1>
<p>Ph.D candidate<br>Shanghai JiaoTong University</p>
<p>Research Affiliate<br>Emerging Parallel Computing Center (EPCC)</p>
<h3><a href="https://chenhongyu2048.github.io/">Home</a></h3>
<h3><a href="https://chenhongyu2048.github.io/research.html">Research</a></h3>
<h3><a href="https://chenhongyu2048.github.io/personal.html">Personal</a></h3>
<h3><a href="https://chenhongyu2048.github.io/experience.html">Experience</a></h3>
<h3><a href="https://chenhongyu2048.github.io/research/CV.pdf">CV</a></h3>
<b>Social</b><br>
<div class="social-row">
<a href="mailto:[email protected]" class="author-social" target="_blank"><i class="fa fa-fw fa-envelope-square"></i> Email</a><br>
<a href="http://github.com/chenhongyu2048"><i class="fa fa-fw fa-github-square"></i> GitHub</a><br>
<br>
</div>
<br>
<p><small>Hosted on GitHub Pages — Theme by <a href="https://github.com/orderedlist">orderedlist</a></small></p>
</header>
<section>
<h2><a id="recent-papers-updated" class="anchor" href="#workingpapers" aria-hidden="true"><span class="octicon octicon-link"></span></a>Working Papers</h2>
<p style="margin:0"> Coming soon. <br> <br>
<hr>
<h2><a id="published-papers-updated" class="anchor" href="#publications" aria-hidden="true"><span class="octicon octicon-link"></span></a>Published & Forthcoming Papers</h2>
<p style="margin:0"> <b>Auto-Divide GNN: Accelerating GNN Training with Subgraph Division</b> <br> Hongyu Chen*, Zhejiang Ran*, Keshi Ge, Zhiquan Lai, Jingfei Jiang, Dongsheng Li. <br> <i>The 29th International European Conference on Parallel and Distributed Computing. </i> <br> <button class="accordion">
Abstract
</button>
<div class="panel" style="background-color: #F1F1F1; color: #666; padding: 10px;"><p> Graph Neural Networks (GNNs) have gained considerable attention in recent years for their exceptional performance on graph-structured data. Sampling-based GNN training is the most common method used for training GNNs on large-scale graphs, and it is often accelerated by caching feature data on the GPU. However, the emergence of more complex models and datasets with higher feature dimension requires more GPU memory for training, which limits the acceleration performance of GPU caching and can even result in out-of-memory errors. To release more GPU memory for the cache in a transparent way, we propose a subgraph division method, which trains several smaller micrographs instead of an entire subgraph at each training iteration. However, it is non-trivial to combine subgraph division with GPU caching due to the redundancy between micrographs. To tackle this challenge, we introduce an auto-profile method that searches for the best-performing subgraph division scheme based on training perception and probability analysis. Additionally, we develop an estimation-based caching strategy to lift the caching hitting rate against the diverse graph structures. These ideas are integrated to Auto-Divide GNN, a framework for accelerating sampling-based GNN training. The multi-GPU evaluations on three representative GNN models and five large graphs demonstrate that Auto-Divide GNN achieves significant speedups of up to 5.61x and 3.13x over two state-of-the-art GNN frameworks, DGL and PaGraph, respectively. </p></div><br>
</section>
</div>
<script src="javascripts/scale.fix.js"></script>
<script>
var acc = document.getElementsByClassName("accordion");
var i;
for (i = 0; i < acc.length; i++) {
acc[i].onclick = function(){
this.classList.toggle("active");
this.parentNode.nextElementSibling.classList.toggle("show");
}
}
</script>
</body>
</html>