-
Notifications
You must be signed in to change notification settings - Fork 65
Expand file tree
/
Copy pathcitation.html
More file actions
176 lines (133 loc) · 67 KB
/
citation.html
File metadata and controls
176 lines (133 loc) · 67 KB
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
<html>
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/vis/4.16.1/vis.css" type="text/css" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/vis/4.16.1/vis-network.min.js"> </script>
<center>
<h1></h1>
</center>
<!-- <link rel="stylesheet" href="../node_modules/vis/dist/vis.min.css" type="text/css" />
<script type="text/javascript" src="../node_modules/vis/dist/vis.js"> </script>-->
<style type="text/css">
#mynetwork {
width: 100%;
height: 1000px;
background-color: #ffffff;
border: 1px solid lightgray;
position: relative;
float: left;
}
#loadingBar {
position:absolute;
top:0px;
left:0px;
width: 100%;
height: 1000px;
background-color:rgba(200,200,200,0.8);
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-ms-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
transition: all 0.5s ease;
opacity:1;
}
#bar {
position:absolute;
top:0px;
left:0px;
width:20px;
height:20px;
margin:auto auto auto auto;
border-radius:11px;
border:2px solid rgba(30,30,30,0.05);
background: rgb(0, 173, 246); /* Old browsers */
box-shadow: 2px 0px 4px rgba(0,0,0,0.4);
}
#border {
position:absolute;
top:10px;
left:10px;
width:500px;
height:23px;
margin:auto auto auto auto;
box-shadow: 0px 0px 4px rgba(0,0,0,0.2);
border-radius:10px;
}
#text {
position:absolute;
top:8px;
left:530px;
width:30px;
height:50px;
margin:auto auto auto auto;
font-size:22px;
color: #000000;
}
div.outerBorder {
position:relative;
top:400px;
width:600px;
height:44px;
margin:auto auto auto auto;
border:8px solid rgba(0,0,0,0.1);
background: rgb(252,252,252); /* Old browsers */
background: -moz-linear-gradient(top, rgba(252,252,252,1) 0%, rgba(237,237,237,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(252,252,252,1)), color-stop(100%,rgba(237,237,237,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfcfc', endColorstr='#ededed',GradientType=0 ); /* IE6-9 */
border-radius:72px;
box-shadow: 0px 0px 10px rgba(0,0,0,0.2);
}
</style>
</head>
<body>
<div id = "mynetwork"></div>
<div id="loadingBar">
<div class="outerBorder">
<div id="text">0%</div>
<div id="border">
<div id="bar"></div>
</div>
</div>
</div>
<script type="text/javascript">
// initialize global variables.
var edges;
var nodes;
var network;
var container;
var options, data;
// This method is responsible for drawing the graph, returns the drawn network
function drawGraph() {
var container = document.getElementById('mynetwork');
// parsing and collecting nodes and edges from the python
nodes = new vis.DataSet([{"id": 13, "label": "Extending OpenSHMEM\nfor GPU computing", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "Extending OpenSHMEM for GPU computing", "x": 24.76389076112976, "y": 122.37293814381397}, {"id": 18, "label": "Physis: An\nimplicitly parallel\nprogramming model\nfor stencil\ncomputations on\nlarge-scale gpu-\naccelerated\nsupercomputers", "labelHighlightBold": true, "shape": "dot", "size": 27.352941513061523, "title": "Physis: An implicitly parallel programming model for stencil computations on large-scale gpu-accelerated supercomputers", "x": -18.7288326671725, "y": 8.611340066023798}, {"id": 34, "label": "Compiling and\nOptimizing Java 8\nPrograms for GPU\nExecution", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "Compiling and Optimizing Java 8 Programs for GPU Execution", "x": -33.01993303871408, "y": 28.518820586360636}, {"id": 51, "label": "Selective GPU caches\nto eliminate CPU-GPU\nHW cache coherence", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "Selective GPU caches to eliminate CPU-GPU HW cache coherence", "x": -24.697750295334995, "y": 34.938700881655784}, {"id": 53, "label": "PACXX: Towards a\nunified programming\nmodel for\nprogramming\naccelerators using\nC++14", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "PACXX: Towards a unified programming model for programming accelerators using C++14", "x": -137.55669543623773, "y": 153.10688317503357}, {"id": 60, "label": "Accelerating gene\nregulatory networks\ninference through\nGPU/CUDA programming", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "Accelerating gene regulatory networks inference through GPU/CUDA programming", "x": 16.119976757829036, "y": -42.8422717169076}, {"id": 64, "label": "Exploring the\nsuitability of\nremote GPGPU\nvirtualization for\nthe OpenACC\nprogramming model\nusing rCUDA", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "Exploring the suitability of remote GPGPU virtualization for the OpenACC programming model using rCUDA", "x": -37.10419622799762, "y": -50.07899169322814}, {"id": 67, "label": "DCUDA: Hardware\nSupported Overlap of\nComputation and\nCommunication", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "DCUDA: Hardware Supported Overlap of Computation and Communication", "x": -33.87332786054143, "y": 11.864933159981236}, {"id": 68, "label": "GPU computing", "labelHighlightBold": true, "shape": "dot", "size": 100.0, "title": "GPU computing", "x": 6.329250718754571, "y": -34.18733911463281}, {"id": 91, "label": "Designing a unified\nprogramming model\nfor heterogeneous\nmachines", "labelHighlightBold": true, "shape": "dot", "size": 24.55882453918457, "title": "Designing a unified programming model for heterogeneous machines", "x": -57.81566497580839, "y": -12.091708299014202}, {"id": 92, "label": "A case study of\nOpenCL on an Android\nmobile GPU", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "A case study of OpenCL on an Android mobile GPU", "x": 3.936617293001404, "y": -44.37072024756895}, {"id": 106, "label": "An evaluation of\nunified memory\ntechnology on NVIDIA\nGPUs", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "An evaluation of unified memory technology on NVIDIA GPUs", "x": 4.322878604771536, "y": 25.792487247701676}, {"id": 115, "label": "Achieving\nportability and\nperformance through\nOpenACC", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "Achieving portability and performance through OpenACC", "x": 14.655810467394069, "y": -73.16158321439497}, {"id": 121, "label": "An Enhanced\nProfiling Framework\nfor the Analysis and\nDevelopment of\nParallel Primitives\nfor GPUs", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "An Enhanced Profiling Framework for the Analysis and Development of Parallel Primitives for GPUs", "x": -6.790233183944989, "y": 47.559438616441106}, {"id": 125, "label": "GPU accelerated\nLanczos algorithm\nwith applications", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "GPU accelerated Lanczos algorithm with applications", "x": 67.43624839486117, "y": -15.856550886523927}, {"id": 128, "label": "VOCL: An optimized\nenvironment for\ntransparent\nvirtualization of\ngraphics processing\nunits", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "VOCL: An optimized environment for transparent virtualization of graphics processing units", "x": -27.147883565553244, "y": -40.42330677872908}, {"id": 134, "label": "Parallel algorithms\nfor approximate\nstring matching with\nk mismatches on CUDA", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "Parallel algorithms for approximate string matching with k mismatches on CUDA", "x": 24.027643499441634, "y": -3.5517468756445068}, {"id": 141, "label": "Record setting\nsoftware\nimplementation of\ndes using CUDA", "labelHighlightBold": true, "shape": "dot", "size": 18.97058868408203, "title": "Record setting software implementation of des using CUDA", "x": 43.10243901267682, "y": -50.668593214139456}, {"id": 146, "label": "An investigation of\nUnified Memory\nAccess performance\nin CUDA", "labelHighlightBold": true, "shape": "dot", "size": 24.55882453918457, "title": "An investigation of Unified Memory Access performance in CUDA", "x": 2.2677354694675125, "y": 19.53145343210315}, {"id": 155, "label": "Towards achieving\nperformance\nportability using\ndirectives for\naccelerators", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "Towards achieving performance portability using directives for accelerators", "x": 41.05949316371812, "y": 6.748039881219046}, {"id": 181, "label": "Self-adaptive OmpSs\ntasks in\nheterogeneous\nenvironments", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "Self-adaptive OmpSs tasks in heterogeneous environments", "x": -73.93121825216481, "y": -9.764180678019299}, {"id": 182, "label": "Design and\nperformance\nevaluation of image\nprocessing\nalgorithms on GPUs", "labelHighlightBold": true, "shape": "dot", "size": 21.764705657958984, "title": "Design and performance evaluation of image processing algorithms on GPUs", "x": -89.64779293768946, "y": -0.014149852620478853}, {"id": 189, "label": "Parallel computing\nexperiences with\nCUDA", "labelHighlightBold": true, "shape": "dot", "size": 44.11764907836914, "title": "Parallel computing experiences with CUDA", "x": 58.71554548426513, "y": -27.265589152526406}, {"id": 200, "label": "Beyond the socket:\nNUMA-aware GPUs", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "Beyond the socket: NUMA-aware GPUs", "x": -11.522889031691046, "y": 41.99887434023165}, {"id": 202, "label": "Early evaluation of\ndirective-based GPU\nprogramming models\nfor productive\nexascale computing", "labelHighlightBold": true, "shape": "dot", "size": 32.94117736816406, "title": "Early evaluation of directive-based GPU programming models for productive exascale computing", "x": -35.81135870727286, "y": -12.013049124173278}, {"id": 204, "label": "Task scheduling for\ngpu heterogeneous\ncluster", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "Task scheduling for gpu heterogeneous cluster", "x": -43.08916620014689, "y": -18.10347665453183}, {"id": 222, "label": "Analyzing CUDA\nworkloads using a\ndetailed GPU\nsimulator", "labelHighlightBold": true, "shape": "dot", "size": 46.911766052246094, "title": "Analyzing CUDA workloads using a detailed GPU simulator", "x": -8.643175637062633, "y": 31.465316314064353}, {"id": 237, "label": "Hybrid map task\nscheduling for GPU-\nbased heterogeneous\nclusters", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "Hybrid map task scheduling for GPU-based heterogeneous clusters", "x": -5.105039961657392, "y": -31.30110458915556}, {"id": 245, "label": "Stargazer: Automated\nregression-based GPU\ndesign space\nexploration", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "Stargazer: Automated regression-based GPU design space exploration", "x": -14.85701484922424, "y": 35.488748315892266}, {"id": 249, "label": "Empowering visual\ncategorization with\nthe GPU", "labelHighlightBold": true, "shape": "dot", "size": 24.55882453918457, "title": "Empowering visual categorization with the GPU", "x": 4.239864280021133, "y": -52.67611387008494}, {"id": 259, "label": "StreamMR: An\noptimized MapReduce\nframework for AMD\nGPUs", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "StreamMR: An optimized MapReduce framework for AMD GPUs", "x": 89.30230942900809, "y": 160.83049239566935}, {"id": 262, "label": "Exploiting Task-\nParallelism on GPU\nClusters via OmpSs\nand rCUDA\nVirtualization", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "Exploiting Task-Parallelism on GPU Clusters via OmpSs and rCUDA Virtualization", "x": -34.48297340210872, "y": -52.42060344606631}, {"id": 267, "label": "Unlocking bandwidth\nfor GPUs in CC-NUMA\nsystems", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "Unlocking bandwidth for GPUs in CC-NUMA systems", "x": -2.341847324234936, "y": 22.700120533832603}, {"id": 276, "label": "OpenCL - An\neffective\nprogramming model\nfor data parallel\ncomputations at the\nCell Broadband\nEngine", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "OpenCL - An effective programming model for data parallel computations at the Cell Broadband Engine", "x": -52.84143316139907, "y": 6.8604154729692635}, {"id": 277, "label": "GraphReduce:\nProcessing large-\nscale graphs on\naccelerator-based\nsystems", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "GraphReduce: Processing large-scale graphs on accelerator-based systems", "x": -157.0098718067881, "y": 185.76248211060502}, {"id": 289, "label": "Can GPGPU\nprogramming be\nliberated from the\ndata-parallel\nbottleneck?", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "Can GPGPU programming be liberated from the data-parallel bottleneck?", "x": -100.17011306674146, "y": 12.015917840606194}, {"id": 293, "label": "Massively parallel\nnetwork coding on\nGPUs", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "Massively parallel network coding on GPUs", "x": -2.2374148817409494, "y": -37.13949126822989}, {"id": 311, "label": "OpenMPC: Extended\nOpenMP programming\nand tuning for GPUs", "labelHighlightBold": true, "shape": "dot", "size": 44.11764907836914, "title": "OpenMPC: Extended OpenMP programming and tuning for GPUs", "x": -41.58900065888275, "y": -1.8093634026342515}, {"id": 342, "label": "Throughput-effective\non-chip networks for\nmanycore\naccelerators", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "Throughput-effective on-chip networks for manycore accelerators", "x": -13.725111872890286, "y": 47.544673067902195}, {"id": 343, "label": "An MDE approach for\nautomatic code\ngeneration from\nUML/MARTE to openCL", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "An MDE approach for automatic code generation from UML/MARTE to openCL", "x": -90.34240394269759, "y": -64.0955909622676}, {"id": 344, "label": "Fast motion\nestimation on\ngraphics hardware\nfor h.264 video\nencoding", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "Fast motion estimation on graphics hardware for h.264 video encoding", "x": 92.16741901422802, "y": -62.21984092501383}, {"id": 347, "label": "CuMAPz: A tool to\nanalyze memory\naccess patterns in\nCUDA", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "CuMAPz: A tool to analyze memory access patterns in CUDA", "x": -106.22225371359201, "y": 15.71489347352919}, {"id": 351, "label": "Optimizing sparse\nmatrix-vector\nmultiplication on\nCUDA", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "Optimizing sparse matrix-vector multiplication on CUDA", "x": -114.08883280843102, "y": 105.02225395466465}, {"id": 358, "label": "A comparative study\nof SYCL, OpenCL, and\nOpenMP", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "A comparative study of SYCL, OpenCL, and OpenMP", "x": 34.5704220565808, "y": 2.1910642545011623}, {"id": 361, "label": "Implementation of\nXcalableMP device\nacceleration\nextention with\nOpenCL", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "Implementation of XcalableMP device acceleration extention with OpenCL", "x": 25.727119129471127, "y": 134.2974186952201}, {"id": 363, "label": "Coordinated static\nand dynamic cache\nbypassing for GPUs", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "Coordinated static and dynamic cache bypassing for GPUs", "x": -9.702073792609484, "y": 37.92453734809817}, {"id": 376, "label": "A comparison of\nperformance\ntunabilities between\nOpenCL and OpenACC", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "A comparison of performance tunabilities between OpenCL and OpenACC", "x": -3.7488175460497764, "y": 45.514812614569315}, {"id": 378, "label": "A comprehensive\nperformance\ncomparison of CUDA\nand OpenCL", "labelHighlightBold": true, "shape": "dot", "size": 32.94117736816406, "title": "A comprehensive performance comparison of CUDA and OpenCL", "x": 21.30053879004295, "y": -9.838769904988158}, {"id": 385, "label": "GasCL: A vertex-\ncentric graph model\nfor GPUs", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "GasCL: A vertex-centric graph model for GPUs", "x": -152.68282868026617, "y": 183.7421165431827}, {"id": 395, "label": "Liszt: A domain\nspecific language\nfor building\nportable mesh-based\nPDE solvers", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "Liszt: A domain specific language for building portable mesh-based PDE solvers", "x": -78.97863881376998, "y": -54.85530529666192}, {"id": 402, "label": "Scalable programming\nmodels for massively\nmulticore processors", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "Scalable programming models for massively multicore processors", "x": -6.076889811191757, "y": -10.602190939552877}, {"id": 419, "label": "A comparative study\nof GPU programming\nmodels and\narchitectures using\nneural networks", "labelHighlightBold": true, "shape": "dot", "size": 18.97058868408203, "title": "A comparative study of GPU programming models and architectures using neural networks", "x": 68.02800802073645, "y": -23.68261777817171}, {"id": 423, "label": "Porting and scaling\nOpenACC applications\non massively-\nparallel, GPU-\naccelerated\nsupercomputers", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "Porting and scaling OpenACC applications on massively-parallel, GPU-accelerated supercomputers", "x": 22.428007077264574, "y": 132.8488076534428}, {"id": 424, "label": "Providing source\ncode level\nportability between\nCPU and GPU with\nMapCG", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "Providing source code level portability between CPU and GPU with MapCG", "x": 94.81746377478484, "y": 165.83516704649634}, {"id": 426, "label": "Accelerating\nincompressible flow\ncomputations with a\nPthreads-CUDA\nimplementation on\nsmall-footprint\nmulti-GPU platforms", "labelHighlightBold": true, "shape": "dot", "size": 18.97058868408203, "title": "Accelerating incompressible flow computations with a Pthreads-CUDA implementation on small-footprint multi-GPU platforms", "x": -8.560106741593499, "y": -63.2900076996156}, {"id": 429, "label": "Optimizing linpack\nbenchmark on GPU-\naccelerated\npetascale\nsupercomputer", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "Optimizing linpack benchmark on GPU-accelerated petascale supercomputer", "x": 13.680509220475168, "y": -28.71944765940697}, {"id": 433, "label": "An efficient\nparallel\ncollaborative\nfiltering algorithm\non multi-GPU\nplatform", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "An efficient parallel collaborative filtering algorithm on multi-GPU platform", "x": -28.011285265575538, "y": 9.01718653156487}, {"id": 440, "label": "CUDA compatible GPU\ncards as efficient\nhardware\naccelerators for\nSmith-Waterman\nsequence alignment", "labelHighlightBold": true, "shape": "dot", "size": 30.147058486938477, "title": "CUDA compatible GPU cards as efficient hardware accelerators for Smith-Waterman sequence alignment", "x": 139.98851437237437, "y": -17.0148749541904}, {"id": 442, "label": "Parallel programing\ntemplates for remote\nsensing image\nprocessing on GPU\narchitectures:\ndesign and\nimplementation", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "Parallel programing templates for remote sensing image processing on GPU architectures: design and implementation", "x": 4.772212668768481, "y": -129.57867950398318}, {"id": 445, "label": "Correlation\nacceleration in GNSS\nsoftware receivers\nusing a CUDA-enabled\nGPU", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "Correlation acceleration in GNSS software receivers using a CUDA-enabled GPU", "x": 9.761693107864195, "y": -130.57271298078822}, {"id": 447, "label": "A compound\nOpenMP/MPI program\ndevelopment toolkit\nfor hybrid CPU/GPU\nclusters", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "A compound OpenMP/MPI program development toolkit for hybrid CPU/GPU clusters", "x": 55.538507460794385, "y": 108.8698139947644}, {"id": 448, "label": "Accelerating\nMapReduce framework\non multi-GPU systems", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "Accelerating MapReduce framework on multi-GPU systems", "x": 71.3413247818473, "y": 149.86015109232585}, {"id": 458, "label": "MVAPICH2-GPU:\nOptimized GPU to GPU\ncommunication for\nInfiniBand clusters", "labelHighlightBold": true, "shape": "dot", "size": 21.764705657958984, "title": "MVAPICH2-GPU: Optimized GPU to GPU communication for InfiniBand clusters", "x": 26.974759022032, "y": 108.43819247539349}, {"id": 459, "label": "TH-1: China\u0027s first\npetaflop\nsupercomputer", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "TH-1: China\u0027s first petaflop supercomputer", "x": -48.785587401637116, "y": -15.521845441139185}, {"id": 463, "label": "SkelCL: A high-level\nextension of OpenCL\nfor multi-GPU\nsystems", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "SkelCL: A high-level extension of OpenCL for multi-GPU systems", "x": 50.329859835762434, "y": 88.19368847630268}, {"id": 466, "label": "OpenMC: Towards\nsimplifying\nprogramming for\ntianhe\nsupercomputers", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "OpenMC: Towards simplifying programming for tianhe supercomputers", "x": -47.953491604129894, "y": -48.79376392365089}, {"id": 470, "label": "Strategies for\nmaximizing\nutilization on\nmulti-CPU and multi-\nGPU heterogeneous\narchitectures", "labelHighlightBold": true, "shape": "dot", "size": 24.55882453918457, "title": "Strategies for maximizing utilization on multi-CPU and multi-GPU heterogeneous architectures", "x": 41.7858001289886, "y": 122.18182342678097}, {"id": 474, "label": "Cardiac simulation\non multi-GPU\nplatform", "labelHighlightBold": true, "shape": "dot", "size": 18.97058868408203, "title": "Cardiac simulation on multi-GPU platform", "x": -0.9545893829756837, "y": -65.22843358686634}, {"id": 481, "label": "MPtostream: An\nOpenMP compiler for\nCPU-GPU\nheterogeneous\nparallel systems", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "MPtostream: An OpenMP compiler for CPU-GPU heterogeneous parallel systems", "x": -42.20258800179363, "y": -24.897835869134394}, {"id": 482, "label": "Toward a software\ntransactional memory\nfor heterogeneous\nCPU\u2013GPU processors", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "Toward a software transactional memory for heterogeneous CPU\u2013GPU processors", "x": 5.586652278027756, "y": 188.21561588764524}, {"id": 491, "label": "CUDASW++ 3.0:\naccelerating Smith-\nWaterman protein\ndatabase search by\ncoupling CPU and GPU\nSIMD instructions.", "labelHighlightBold": true, "shape": "dot", "size": 27.352941513061523, "title": "CUDASW++ 3.0: accelerating Smith-Waterman protein database search by coupling CPU and GPU SIMD instructions.", "x": 152.0715442875626, "y": -13.285821650501893}, {"id": 492, "label": "DOPA: GPU-based\nprotein alignment\nusing database and\nmemory access\noptimizations", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "DOPA: GPU-based protein alignment using database and memory access optimizations", "x": 159.42147533046034, "y": -4.816874283059061}, {"id": 496, "label": "Addressing GPU on-\nchip shared memory\nbank conflicts using\nelastic pipeline", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "Addressing GPU on-chip shared memory bank conflicts using elastic pipeline", "x": 38.034083602151355, "y": -9.608048099250405}, {"id": 499, "label": "Scaling up\nMapReduce-based Big\nData Processing on\nMulti-GPU systems", "labelHighlightBold": true, "shape": "dot", "size": 18.97058868408203, "title": "Scaling up MapReduce-based Big Data Processing on Multi-GPU systems", "x": 51.680062213930086, "y": 134.53362260164351}, {"id": 508, "label": "Stencil computations\non heterogeneous\nplatforms for the\nJacobi method: GPUs\nversus Cell BE", "labelHighlightBold": true, "shape": "dot", "size": 27.352941513061523, "title": "Stencil computations on heterogeneous platforms for the Jacobi method: GPUs versus Cell BE", "x": -15.970573983939353, "y": -72.53740030776038}, {"id": 510, "label": "Introducing and\nimplementing the\nallpairs skeleton\nfor programming\nmulti-GPU Systems", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "Introducing and implementing the allpairs skeleton for programming multi-GPU Systems", "x": -122.73135406335528, "y": 127.57000024244564}, {"id": 512, "label": "Optimizing tensor\ncontraction\nexpressions for\nhybrid CPU-GPU\nexecution", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "Optimizing tensor contraction expressions for hybrid CPU-GPU execution", "x": -32.071114597693686, "y": 3.1914937580039604}, {"id": 539, "label": "Offloading data\nencryption to GPU in\ndatabase systems", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "Offloading data encryption to GPU in database systems", "x": 51.68768333093016, "y": -51.16714152165434}, {"id": 546, "label": "High-Level\nProgramming for\nMany-Cores Using\nC++14 and the STL", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "High-Level Programming for Many-Cores Using C++14 and the STL", "x": -94.52396666171657, "y": 112.74251670489994}, {"id": 547, "label": "RT-CUDA: A Software\nTool for CUDA Code\nRestructuring", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "RT-CUDA: A Software Tool for CUDA Code Restructuring", "x": -116.13964046101879, "y": 101.68110655465996}, {"id": 548, "label": "Parallel data mining\ntechniques on\nGraphics Processing\nUnit with Compute\nUnified Device\nArchitecture (CUDA)", "labelHighlightBold": true, "shape": "dot", "size": 32.94117736816406, "title": "Parallel data mining techniques on Graphics Processing Unit with Compute Unified Device Architecture (CUDA)", "x": 57.441349887496955, "y": -39.19685861767704}, {"id": 561, "label": "A GPU implementation\nof a structural-\nsimilarity-based\naerial-image\nclassification", "labelHighlightBold": true, "shape": "dot", "size": 21.764705657958984, "title": "A GPU implementation of a structural-similarity-based aerial-image classification", "x": 38.932519705401624, "y": -44.156907568311944}, {"id": 564, "label": "GPU-accelerated\nlevel-set\nsegmentation", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "GPU-accelerated level-set segmentation", "x": 61.82166515644974, "y": -71.40638848623834}, {"id": 570, "label": "Gene regulatory\nnetworks inference\nusing a multi-GPU\nexhaustive search\nalgorithm", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "Gene regulatory networks inference using a multi-GPU exhaustive search algorithm", "x": 73.37425240799887, "y": 114.69458746538966}, {"id": 604, "label": "Extending OpenMP to\nsurvive the\nheterogeneous multi-\ncore era", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "Extending OpenMP to survive the heterogeneous multi-core era", "x": -66.65381036265713, "y": -8.016984732642927}, {"id": 605, "label": "Speeding up the\nevaluation phase of\nGP classification\nalgorithms on GPUs", "labelHighlightBold": true, "shape": "dot", "size": 18.97058868408203, "title": "Speeding up the evaluation phase of GP classification algorithms on GPUs", "x": 66.34991750796436, "y": -34.93620054791177}, {"id": 608, "label": "Medical image\nsegmentation with\ndeformable models on\ngraphics processing\nunits", "labelHighlightBold": true, "shape": "dot", "size": 18.97058868408203, "title": "Medical image segmentation with deformable models on graphics processing units", "x": 54.891101029922936, "y": -57.74073845936723}, {"id": 609, "label": "Correlating radio\nastronomy signals\nwith many-core\nhardware", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "Correlating radio astronomy signals with many-core hardware", "x": 44.218821632857804, "y": 12.69723759751845}, {"id": 620, "label": "High performance\ndata clustering: A\ncomparative analysis\nof performance for\nGPU, RASC, MPI, and\nOpenMP\nimplementations", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "High performance data clustering: A comparative analysis of performance for GPU, RASC, MPI, and OpenMP implementations", "x": 67.3309120475585, "y": 112.88918721287439}, {"id": 633, "label": "Adaptive fast\nmultipole methods on\nthe GPU", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "Adaptive fast multipole methods on the GPU", "x": -29.8689126742957, "y": -84.98851981439584}, {"id": 636, "label": "Parallelization of\nlarge vector\nsimilarity\ncomputations in a\nhybrid CPU+GPU\nenvironment", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "Parallelization of large vector similarity computations in a hybrid CPU+GPU environment", "x": 10.992900641315503, "y": 28.591738454512818}, {"id": 644, "label": "GASAL2: A GPU\naccelerated sequence\nalignment library\nfor high-throughput\nNGS data", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "GASAL2: A GPU accelerated sequence alignment library for high-throughput NGS data", "x": 160.28896666637868, "y": -14.551334859355702}, {"id": 655, "label": "GPU-accelerated\npreconditioned\niterative linear\nsolvers", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "GPU-accelerated preconditioned iterative linear solvers", "x": -31.919275631758673, "y": -88.45959322419276}, {"id": 656, "label": "GPU-based collision\nanalysis between a\nmulti-body system\nand numerous\nparticles", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "GPU-based collision analysis between a multi-body system and numerous particles", "x": 120.52730488714306, "y": -24.818599022821363}, {"id": 660, "label": "Hybrid multi-GPU\ncomputing:\naccelerated kernels\nfor segmentation and\nobject detection\nwith medical image\nprocessing\napplications", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "Hybrid multi-GPU computing: accelerated kernels for segmentation and object detection with medical image processing applications", "x": -108.93643894444878, "y": -1.767799391573767}, {"id": 666, "label": "A parallel pattern\nfor iterative\nstencil + reduce", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "A parallel pattern for iterative stencil + reduce", "x": -109.21997335920058, "y": 102.31076950788147}, {"id": 670, "label": "Parallelization of\nFull Search Motion\nEstimation algorithm\nfor parallel and\ndistributed\nplatforms", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "Parallelization of Full Search Motion Estimation algorithm for parallel and distributed platforms", "x": 112.91299287397852, "y": -86.65823167839001}, {"id": 685, "label": "Design Flow for GPU\nand Multicore\nExecution of Dynamic\nDataflow Programs", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "Design Flow for GPU and Multicore Execution of Dynamic Dataflow Programs", "x": 12.183590994410205, "y": -53.324658941928575}, {"id": 705, "label": "Effective naive\nBayes nearest\nneighbor based image\nclassification on\nGPU", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "Effective naive Bayes nearest neighbor based image classification on GPU", "x": 63.85284676586857, "y": 145.09473959759873}, {"id": 711, "label": "Enhancing GPU\nparallelism in\nnature-inspired\nalgorithms", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "Enhancing GPU parallelism in nature-inspired algorithms", "x": 70.73540033371225, "y": -30.664432655226168}, {"id": 739, "label": "On GPU\u2013CUDA as\npreprocessing of\nfuzzy-rough data\nreduction by means\nof singular value\ndecomposition", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "On GPU\u2013CUDA as preprocessing of fuzzy-rough data reduction by means of singular value decomposition", "x": 4.323703892809986, "y": -4.135094352734839}, {"id": 741, "label": "MilkyWay-2\nsupercomputer:\nSystem and\napplication", "labelHighlightBold": true, "shape": "dot", "size": 18.97058868408203, "title": "MilkyWay-2 supercomputer: System and application", "x": -47.47611118530658, "y": -58.84040628735832}, {"id": 756, "label": "High performance\nevaluation of\nevolutionary-mined\nassociation rules on\nGPUs", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "High performance evaluation of evolutionary-mined association rules on GPUs", "x": 69.81864380109309, "y": -39.45019128602855}, {"id": 762, "label": "Energy cost\nevaluation of\nparallel algorithms\nfor multiprocessor\nsystems", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "Energy cost evaluation of parallel algorithms for multiprocessor systems", "x": -13.310295668762771, "y": 10.753777440927363}, {"id": 771, "label": "Simultaneous CPU\u2013GPU\nExecution of Data\nParallel Algorithmic\nSkeletons", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "Simultaneous CPU\u2013GPU Execution of Data Parallel Algorithmic Skeletons", "x": -97.70404645512019, "y": 105.90164122992417}, {"id": 786, "label": "CUDASW++2.0:\nEnhanced Smith-\nWaterman protein\ndatabase search on\nCUDA-enabled GPUs\nbased on SIMT and\nvirtualized SIMD\nabstractions", "labelHighlightBold": true, "shape": "dot", "size": 21.764705657958984, "title": "CUDASW++2.0: Enhanced Smith-Waterman protein database search on CUDA-enabled GPUs based on SIMT and virtualized SIMD abstractions", "x": 134.4972719871022, "y": -17.228311976859647}, {"id": 788, "label": "Solving finite\ndifference linear\nsystems on GPUs:\nCUDA based parallel\nexplicit\npreconditioned\nbiconjugate\nconjugate gradient\ntype methods", "labelHighlightBold": true, "shape": "dot", "size": 18.97058868408203, "title": "Solving finite difference linear systems on GPUs: CUDA based parallel explicit preconditioned biconjugate conjugate gradient type methods", "x": -4.402681918762127, "y": -61.38878285147453}, {"id": 789, "label": "Data layout\ntransformation\nexploiting memory-\nlevel parallelism in\nstructured grid\nmany-core\napplications", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "Data layout transformation exploiting memory-level parallelism in structured grid many-core applications", "x": -114.00574457651189, "y": 22.561438369418816}, {"id": 792, "label": "A framework for\naccelerating local\nfeature extraction\nwith OpenCL on\nmulti-core CPUs and\nco-processors", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "A framework for accelerating local feature extraction with OpenCL on multi-core CPUs and co-processors", "x": 121.24990689915224, "y": -93.99324846212228}, {"id": 825, "label": "PPModel: A modeling\ntool for source code\nmaintenance and\noptimization of\nparallel programs", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "PPModel: A modeling tool for source code maintenance and optimization of parallel programs", "x": -91.67219424116392, "y": -60.795848769406845}, {"id": 852, "label": "A view of\nprogramming scalable\ndata analysis: from\nclouds to exascale", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "A view of programming scalable data analysis: from clouds to exascale", "x": 26.415483684681806, "y": -70.6538457878514}, {"id": 854, "label": "SkePU 2: Flexible\nand Type-Safe\nSkeleton Programming\nfor Heterogeneous\nParallel Systems", "labelHighlightBold": true, "shape": "dot", "size": 27.352941513061523, "title": "SkePU 2: Flexible and Type-Safe Skeleton Programming for Heterogeneous Parallel Systems", "x": -102.73055459157142, "y": 92.12197437434445}, {"id": 855, "label": "Generating custom\ncode for efficient\nquery execution on\nheterogeneous\nprocessors", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "Generating custom code for efficient query execution on heterogeneous processors", "x": -41.076312009304395, "y": 35.280506100159016}, {"id": 862, "label": "Dawning nebulae: A\nPetaFLOPS\nsupercomputer with a\nheterogeneous\nstructure", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "Dawning nebulae: A PetaFLOPS supercomputer with a heterogeneous structure", "x": -44.39410934008284, "y": -35.44785477992093}, {"id": 875, "label": "Fast and accurate\nprotein substructure\nsearching with\nsimulated annealing\nand GPUs", "labelHighlightBold": true, "shape": "dot", "size": 18.97058868408203, "title": "Fast and accurate protein substructure searching with simulated annealing and GPUs", "x": 149.08617606343037, "y": -18.794137195145904}, {"id": 878, "label": "Parallel mutual\ninformation\nestimation for\ninferring gene\nregulatory networks\non GPUs", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "Parallel mutual information estimation for inferring gene regulatory networks on GPUs", "x": 18.37011471492788, "y": -39.818400820136304}, {"id": 883, "label": "Performance\nevaluation of\nUnified Memory with\nprefetching and\noversubscription for\nselected parallel\nCUDA applications on\nNVIDIA Pascal and\nVolta GPUs", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "Performance evaluation of Unified Memory with prefetching and oversubscription for selected parallel CUDA applications on NVIDIA Pascal and Volta GPUs", "x": 7.689577836099897, "y": -111.27399025400528}, {"id": 895, "label": "Accelerating large-\nscale protein\nstructure alignments\nwith graphics\nprocessing units", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "Accelerating large-scale protein structure alignments with graphics processing units", "x": 155.43935533196031, "y": -20.96795900713483}, {"id": 913, "label": "Performance\nevaluation of\nunified memory and\ndynamic parallelism\nfor selected\nparallel CUDA\napplications", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "Performance evaluation of unified memory and dynamic parallelism for selected parallel CUDA applications", "x": 4.3004964807575625, "y": 29.527732043204335}, {"id": 920, "label": "A preliminary\nevaluation of\nOpenACC\nimplementations", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "A preliminary evaluation of OpenACC implementations", "x": 47.034685295115565, "y": -12.802539590182695}, {"id": 921, "label": "Optimizing the\nMatrix\nMultiplication Using\nStrassen and\nWinograd Algorithms\nwith Limited\nRecursions on Many-\nCore", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "Optimizing the Matrix Multiplication Using Strassen and Winograd Algorithms with Limited Recursions on Many-Core", "x": -111.46927725753929, "y": 98.77787186707079}, {"id": 926, "label": "Protein alignment\nalgorithms with an\nefficient\nbacktracking routine\non multiple GPUs", "labelHighlightBold": true, "shape": "dot", "size": 21.764705657958984, "title": "Protein alignment algorithms with an efficient backtracking routine on multiple GPUs", "x": 147.36538001505247, "y": -9.666702338626086}, {"id": 935, "label": "A scalable and fast\nOPTICS for\nclustering\ntrajectory big data", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "A scalable and fast OPTICS for clustering trajectory big data", "x": 18.59955379592442, "y": -52.61744421494949}, {"id": 939, "label": "Virtualizing high-\nend GPGPUs on ARM\nclusters for the\nnext generation of\nhigh performance\ncloud computing", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "Virtualizing high-end GPGPUs on ARM clusters for the next generation of high performance cloud computing", "x": 115.07099598172069, "y": -21.6762741226937}, {"id": 946, "label": "A parallel algorithm\nfor the Riesz\nfractional reaction-\ndiffusion equation\nwith explicit finite\ndifference method", "labelHighlightBold": true, "shape": "dot", "size": 18.97058868408203, "title": "A parallel algorithm for the Riesz fractional reaction-diffusion equation with explicit finite difference method", "x": -39.08759703174296, "y": -80.6772540534114}, {"id": 947, "label": "Formalised\nComposition and\nInteraction for\nHeterogeneous\nStructured\nParallelism", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "Formalised Composition and Interaction for Heterogeneous Structured Parallelism", "x": -98.56343268368649, "y": 98.1720562616151}, {"id": 951, "label": "Toward fault-\ntolerant hybrid\nprogramming over\nlarge-scale\nheterogeneous\nclusters via checkpo\ninting/restart\noptimization", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "Toward fault-tolerant hybrid programming over large-scale heterogeneous clusters via checkpointing/restart optimization", "x": 1.6600122227860346, "y": 188.37721167803048}, {"id": 957, "label": "Efficient scheduling\nof streams on GPGPUs", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "Efficient scheduling of streams on GPGPUs", "x": 8.22802763999975, "y": -126.12783868888795}, {"id": 963, "label": "Accelerating MRI\nreconstruction via\nthree-dimensional\ndual-dictionary\nlearning using CUDA", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "Accelerating MRI reconstruction via three-dimensional dual-dictionary learning using CUDA", "x": -107.73396898045155, "y": 3.1544760512260845}, {"id": 966, "label": "CUDASW++: Optimizing\nSmith-Waterman\nsequence database\nsearches for CUDA-\nenabled graphics\nprocessing units", "labelHighlightBold": true, "shape": "dot", "size": 21.764705657958984, "title": "CUDASW++: Optimizing Smith-Waterman sequence database searches for CUDA-enabled graphics processing units", "x": 143.8882629608313, "y": -16.34871914778348}, {"id": 972, "label": "A Hybrid Task Graph\nScheduler for High\nPerformance Image\nProcessing Workflows", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "A Hybrid Task Graph Scheduler for High Performance Image Processing Workflows", "x": 12.83386949053449, "y": -61.59554885680468}, {"id": 990, "label": "Optimizing Monte\nCarlo radiosity on\ngraphics hardware", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "Optimizing Monte Carlo radiosity on graphics hardware", "x": -1.4008314048889217, "y": -41.96140127049525}, {"id": 991, "label": "Parallel refinement\nof slanted 3D\nreconstruction using\ndense stereo induced\nfrom symmetry", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "Parallel refinement of slanted 3D reconstruction using dense stereo induced from symmetry", "x": -104.4184196384963, "y": 0.36334046894470023}, {"id": 992, "label": "Fast network\ncentrality analysis\nusing GPUs", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "Fast network centrality analysis using GPUs", "x": -157.21441204511777, "y": 180.9843178891049}, {"id": 998, "label": "A survey on\nplatforms for big\ndata analytics", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "A survey on platforms for big data analytics", "x": 22.39363609422927, "y": -60.16096070733966}, {"id": 1010, "label": "A statistical\nperformance analyzer\nframework for OpenCL\nkernels on Nvidia\nGPUs", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "A statistical performance analyzer framework for OpenCL kernels on Nvidia GPUs", "x": -15.490595926809672, "y": 39.5777748604004}, {"id": 1016, "label": "Simulation of one-\nlayer shallow water\nsystems on multicore\nand CUDA\narchitectures", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "Simulation of one-layer shallow water systems on multicore and CUDA architectures", "x": 14.797675547772858, "y": -19.66472382629069}, {"id": 1029, "label": "The TianHe-1A\nsupercomputer: Its\nhardware and\nsoftware", "labelHighlightBold": true, "shape": "dot", "size": 41.32352828979492, "title": "The TianHe-1A supercomputer: Its hardware and software", "x": -34.819639072740465, "y": -30.192367096646926}, {"id": 1041, "label": "Energy efficiency of\nload balancing for\ndata-parallel\napplications in\nheterogeneous\nsystems", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "Energy efficiency of load balancing for data-parallel applications in heterogeneous systems", "x": 3.163226368944035, "y": 174.59036584695892}, {"id": 1087, "label": "Hybrid\nstatic\u2013dynamic\nselection of\nimplementation\nalternatives in\nheterogeneous\nenvironments", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "Hybrid static\u2013dynamic selection of implementation alternatives in heterogeneous environments", "x": 6.264895738573001, "y": 194.05804935921628}, {"id": 1092, "label": "The Fraunhofer\nvirtual machine: A\ncommunication\nlibrary and runtime\nsystem based on the\nRDMA model", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "The Fraunhofer virtual machine: A communication library and runtime system based on the RDMA model", "x": 24.504875905181667, "y": 117.60150858306433}, {"id": 1113, "label": "Optimizing an APSP\nimplementation for\nNVIDIA GPUs using\nkernel\ncharacterization\ncriteria", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "Optimizing an APSP implementation for NVIDIA GPUs using kernel characterization criteria", "x": -150.99232124041473, "y": 175.39653681516148}, {"id": 1147, "label": "Prediction models\nfor performance,\npower, and energy\nefficiency of\nsoftware executed on\nheterogeneous\nhardware", "labelHighlightBold": true, "shape": "dot", "size": 16.176471710205078, "title": "Prediction models for performance, power, and energy efficiency of software executed on heterogeneous hardware", "x": 2.0923515159185126, "y": 193.71791590168144}, {"id": 1148, "label": "The 2D wavelet\ntransform on\nemerging\narchitectures: GPUs\nand multicores", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "The 2D wavelet transform on emerging architectures: GPUs and multicores", "x": 17.674311466524934, "y": -32.42904711149508}, {"id": 1150, "label": "High-performance\noptimizations on\ntiled many-core\nembedded systems: A\nmatrix\nmultiplication case\nstudy", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "High-performance optimizations on tiled many-core embedded systems: A matrix multiplication case study", "x": 50.18366022207218, "y": 106.19189835106421}, {"id": 1160, "label": "Applications of the\nMapReduce\nprogramming\nframework to\nclinical big data\nanalysis: Current\nlandscape and future\ntrends", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "Applications of the MapReduce programming framework to clinical big data analysis: Current landscape and future trends", "x": 40.58791008761934, "y": 127.73466258171474}, {"id": 1189, "label": "Message-passing\nprogramming for\nembedded multicore\nsignal-processing\nplatforms", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "Message-passing programming for embedded multicore signal-processing platforms", "x": -74.35588544553528, "y": -14.16311871607837}, {"id": 1207, "label": "Automatic code\ngeneration and\ntuning for stencil\nkernels on modern\nshared memory\narchitectures", "labelHighlightBold": true, "shape": "dot", "size": 13.382352828979492, "title": "Automatic code generation and tuning for stencil kernels on modern shared memory architectures", "x": -23.679792379725473, "y": -16.614420820944737}, {"id": 1220, "label": "Simultaneous\nmultiprocessing in a\nsoftware-defined\nheterogeneous FPGA", "labelHighlightBold": true, "shape": "dot", "size": 21.764705657958984, "title": "Simultaneous multiprocessing in a software-defined heterogeneous FPGA", "x": 10.871510177586414, "y": 177.40391397409473}, {"id": 1262, "label": "An efficient\nparallel solution\nfor Caputo\nfractional reaction-\ndiffusion equation", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "An efficient parallel solution for Caputo fractional reaction-diffusion equation", "x": -49.26363444944581, "y": -76.66234249030828}, {"id": 1302, "label": "HAT: History-based\nauto-tuning\nMapReduce in\nheterogeneous\nenvironments", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "HAT: History-based auto-tuning MapReduce in heterogeneous environments", "x": 96.6905203562153, "y": 161.3642568387199}, {"id": 1309, "label": "Efficient\ncomputation of motif\ndiscovery on Intel\nMany Integrated Core\n(MIC) Architecture", "labelHighlightBold": true, "shape": "dot", "size": 7.7941179275512695, "title": "Efficient computation of motif discovery on Intel Many Integrated Core (MIC) Architecture", "x": -57.65868746214322, "y": -67.3003661721655}, {"id": 1311, "label": "pocl: A Performance-\nPortable OpenCL\nImplementation", "labelHighlightBold": true, "shape": "dot", "size": 10.588235855102539, "title": "pocl: A Performance-Portable OpenCL Implementation", "x": 118.60740866980356, "y": -96.35879241515582}]);
edges = new vis.DataSet([{"from": 13, "title": "2", "to": 458, "width": 2}, {"from": 13, "title": "1", "to": 1092, "width": 1}, {"from": 13, "title": "1", "to": 361, "width": 1}, {"from": 13, "title": "1", "to": 423, "width": 1}, {"from": 18, "title": "1", "to": 458, "width": 1}, {"from": 18, "title": "2", "to": 311, "width": 2}, {"from": 18, "title": "1", "to": 202, "width": 1}, {"from": 18, "title": "1", "to": 402, "width": 1}, {"from": 18, "title": "1", "to": 68, "width": 1}, {"from": 18, "title": "1", "to": 433, "width": 1}, {"from": 18, "title": "1", "to": 512, "width": 1}, {"from": 18, "title": "1", "to": 762, "width": 1}, {"from": 34, "title": "1", "to": 311, "width": 1}, {"from": 34, "title": "1", "to": 855, "width": 1}, {"from": 34, "title": "1", "to": 51, "width": 1}, {"from": 34, "title": "1", "to": 222, "width": 1}, {"from": 51, "title": "1", "to": 222, "width": 1}, {"from": 53, "title": "1", "to": 1113, "width": 1}, {"from": 53, "title": "1", "to": 510, "width": 1}, {"from": 60, "title": "1", "to": 68, "width": 1}, {"from": 60, "title": "1", "to": 878, "width": 1}, {"from": 64, "title": "1", "to": 128, "width": 1}, {"from": 64, "title": "1", "to": 262, "width": 1}, {"from": 67, "title": "1", "to": 222, "width": 1}, {"from": 67, "title": "2", "to": 311, "width": 2}, {"from": 68, "title": "1", "to": 92, "width": 1}, {"from": 68, "title": "1", "to": 141, "width": 1}, {"from": 68, "title": "1", "to": 237, "width": 1}, {"from": 68, "title": "1", "to": 548, "width": 1}, {"from": 68, "title": "4", "to": 189, "width": 4}, {"from": 68, "title": "1", "to": 293, "width": 1}, {"from": 68, "title": "1", "to": 609, "width": 1}, {"from": 68, "title": "1", "to": 990, "width": 1}, {"from": 68, "title": "1", "to": 1029, "width": 1}, {"from": 68, "title": "2", "to": 429, "width": 2}, {"from": 68, "title": "1", "to": 402, "width": 1}, {"from": 68, "title": "1", "to": 1207, "width": 1}, {"from": 68, "title": "1", "to": 311, "width": 1}, {"from": 68, "title": "1", "to": 202, "width": 1}, {"from": 68, "title": "1", "to": 508, "width": 1}, {"from": 68, "title": "1", "to": 788, "width": 1}, {"from": 68, "title": "1", "to": 474, "width": 1}, {"from": 68, "title": "2", "to": 249, "width": 2}, {"from": 68, "title": "1", "to": 426, "width": 1}, {"from": 68, "title": "1", "to": 878, "width": 1}, {"from": 68, "title": "1", "to": 1148, "width": 1}, {"from": 68, "title": "1", "to": 685, "width": 1}, {"from": 68, "title": "1", "to": 972, "width": 1}, {"from": 68, "title": "1", "to": 935, "width": 1}, {"from": 68, "title": "1", "to": 998, "width": 1}, {"from": 68, "title": "1", "to": 128, "width": 1}, {"from": 68, "title": "1", "to": 182, "width": 1}, {"from": 68, "title": "1", "to": 883, "width": 1}, {"from": 68, "title": "1", "to": 378, "width": 1}, {"from": 68, "title": "1", "to": 1016, "width": 1}, {"from": 68, "title": "1", "to": 739, "width": 1}, {"from": 68, "title": "1", "to": 146, "width": 1}, {"from": 91, "title": "2", "to": 311, "width": 2}, {"from": 91, "title": "1", "to": 604, "width": 1}, {"from": 91, "title": "1", "to": 1189, "width": 1}, {"from": 91, "title": "1", "to": 181, "width": 1}, {"from": 91, "title": "1", "to": 459, "width": 1}, {"from": 91, "title": "1", "to": 1029, "width": 1}, {"from": 91, "title": "1", "to": 202, "width": 1}, {"from": 106, "title": "1", "to": 222, "width": 1}, {"from": 106, "title": "2", "to": 913, "width": 2}, {"from": 106, "title": "3", "to": 146, "width": 3}, {"from": 106, "title": "1", "to": 636, "width": 1}, {"from": 115, "title": "1", "to": 972, "width": 1}, {"from": 121, "title": "1", "to": 376, "width": 1}, {"from": 121, "title": "1", "to": 222, "width": 1}, {"from": 125, "title": "1", "to": 189, "width": 1}, {"from": 128, "title": "1", "to": 202, "width": 1}, {"from": 128, "title": "1", "to": 262, "width": 1}, {"from": 134, "title": "1", "to": 378, "width": 1}, {"from": 141, "title": "1", "to": 608, "width": 1}, {"from": 141, "title": "1", "to": 561, "width": 1}, {"from": 141, "title": "1", "to": 548, "width": 1}, {"from": 141, "title": "1", "to": 539, "width": 1}, {"from": 146, "title": "2", "to": 267, "width": 2}, {"from": 146, "title": "3", "to": 222, "width": 3}, {"from": 146, "title": "2", "to": 913, "width": 2}, {"from": 146, "title": "1", "to": 636, "width": 1}, {"from": 146, "title": "1", "to": 739, "width": 1}, {"from": 155, "title": "1", "to": 358, "width": 1}, {"from": 181, "title": "1", "to": 604, "width": 1}, {"from": 181, "title": "1", "to": 1189, "width": 1}, {"from": 182, "title": "1", "to": 289, "width": 1}, {"from": 182, "title": "1", "to": 347, "width": 1}, {"from": 182, "title": "1", "to": 660, "width": 1}, {"from": 182, "title": "1", "to": 963, "width": 1}, {"from": 182, "title": "1", "to": 991, "width": 1}, {"from": 189, "title": "1", "to": 609, "width": 1}, {"from": 189, "title": "1", "to": 1029, "width": 1}, {"from": 189, "title": "1", "to": 429, "width": 1}, {"from": 189, "title": "1", "to": 756, "width": 1}, {"from": 189, "title": "2", "to": 605, "width": 2}, {"from": 189, "title": "2", "to": 548, "width": 2}, {"from": 189, "title": "1", "to": 786, "width": 1}, {"from": 189, "title": "1", "to": 440, "width": 1}, {"from": 189, "title": "1", "to": 939, "width": 1}, {"from": 189, "title": "1", "to": 711, "width": 1}, {"from": 189, "title": "1", "to": 419, "width": 1}, {"from": 189, "title": "1", "to": 344, "width": 1}, {"from": 200, "title": "2", "to": 222, "width": 2}, {"from": 200, "title": "1", "to": 342, "width": 1}, {"from": 200, "title": "1", "to": 363, "width": 1}, {"from": 202, "title": "6", "to": 311, "width": 6}, {"from": 202, "title": "1", "to": 459, "width": 1}, {"from": 202, "title": "2", "to": 1029, "width": 2}, {"from": 202, "title": "1", "to": 1207, "width": 1}, {"from": 202, "title": "1", "to": 481, "width": 1}, {"from": 202, "title": "1", "to": 512, "width": 1}, {"from": 204, "title": "1", "to": 1029, "width": 1}, {"from": 204, "title": "1", "to": 311, "width": 1}, {"from": 222, "title": "4", "to": 267, "width": 4}, {"from": 222, "title": "1", "to": 378, "width": 1}, {"from": 222, "title": "4", "to": 363, "width": 4}, {"from": 222, "title": "1", "to": 376, "width": 1}, {"from": 222, "title": "1", "to": 1010, "width": 1}, {"from": 222, "title": "1", "to": 913, "width": 1}, {"from": 222, "title": "1", "to": 342, "width": 1}, {"from": 222, "title": "1", "to": 245, "width": 1}, {"from": 249, "title": "1", "to": 508, "width": 1}, {"from": 249, "title": "1", "to": 788, "width": 1}, {"from": 249, "title": "1", "to": 474, "width": 1}, {"from": 249, "title": "1", "to": 426, "width": 1}, {"from": 249, "title": "1", "to": 561, "width": 1}, {"from": 249, "title": "1", "to": 378, "width": 1}, {"from": 259, "title": "1", "to": 1302, "width": 1}, {"from": 259, "title": "1", "to": 424, "width": 1}, {"from": 259, "title": "1", "to": 448, "width": 1}, {"from": 267, "title": "1", "to": 378, "width": 1}, {"from": 276, "title": "1", "to": 311, "width": 1}, {"from": 277, "title": "1", "to": 385, "width": 1}, {"from": 277, "title": "1", "to": 1113, "width": 1}, {"from": 277, "title": "1", "to": 992, "width": 1}, {"from": 289, "title": "1", "to": 347, "width": 1}, {"from": 311, "title": "1", "to": 604, "width": 1}, {"from": 311, "title": "2", "to": 1029, "width": 2}, {"from": 311, "title": "1", "to": 459, "width": 1}, {"from": 311, "title": "1", "to": 1207, "width": 1}, {"from": 311, "title": "1", "to": 854, "width": 1}, {"from": 311, "title": "1", "to": 512, "width": 1}, {"from": 342, "title": "1", "to": 363, "width": 1}, {"from": 343, "title": "1", "to": 825, "width": 1}, {"from": 343, "title": "1", "to": 395, "width": 1}, {"from": 344, "title": "1", "to": 670, "width": 1}, {"from": 347, "title": "1", "to": 789, "width": 1}, {"from": 351, "title": "1", "to": 666, "width": 1}, {"from": 351, "title": "1", "to": 854, "width": 1}, {"from": 351, "title": "1", "to": 921, "width": 1}, {"from": 351, "title": "1", "to": 547, "width": 1}, {"from": 358, "title": "1", "to": 378, "width": 1}, {"from": 361, "title": "1", "to": 423, "width": 1}, {"from": 378, "title": "1", "to": 496, "width": 1}, {"from": 378, "title": "1", "to": 920, "width": 1}, {"from": 378, "title": "1", "to": 561, "width": 1}, {"from": 378, "title": "1", "to": 1016, "width": 1}, {"from": 385, "title": "1", "to": 1113, "width": 1}, {"from": 385, "title": "1", "to": 992, "width": 1}, {"from": 395, "title": "1", "to": 1029, "width": 1}, {"from": 395, "title": "1", "to": 825, "width": 1}, {"from": 419, "title": "1", "to": 920, "width": 1}, {"from": 419, "title": "1", "to": 605, "width": 1}, {"from": 419, "title": "1", "to": 711, "width": 1}, {"from": 419, "title": "1", "to": 548, "width": 1}, {"from": 426, "title": "1", "to": 508, "width": 1}, {"from": 426, "title": "1", "to": 788, "width": 1}, {"from": 426, "title": "1", "to": 474, "width": 1}, {"from": 429, "title": "1", "to": 1029, "width": 1}, {"from": 429, "title": "1", "to": 1148, "width": 1}, {"from": 433, "title": "1", "to": 512, "width": 1}, {"from": 440, "title": "9", "to": 966, "width": 9}, {"from": 440, "title": "6", "to": 786, "width": 6}, {"from": 440, "title": "3", "to": 491, "width": 3}, {"from": 440, "title": "2", "to": 875, "width": 2}, {"from": 440, "title": "1", "to": 895, "width": 1}, {"from": 440, "title": "1", "to": 644, "width": 1}, {"from": 440, "title": "1", "to": 939, "width": 1}, {"from": 440, "title": "2", "to": 926, "width": 2}, {"from": 442, "title": "1", "to": 957, "width": 1}, {"from": 442, "title": "1", "to": 445, "width": 1}, {"from": 442, "title": "1", "to": 883, "width": 1}, {"from": 445, "title": "1", "to": 957, "width": 1}, {"from": 445, "title": "1", "to": 883, "width": 1}, {"from": 447, "title": "1", "to": 1150, "width": 1}, {"from": 447, "title": "1", "to": 470, "width": 1}, {"from": 447, "title": "1", "to": 463, "width": 1}, {"from": 447, "title": "1", "to": 620, "width": 1}, {"from": 448, "title": "1", "to": 705, "width": 1}, {"from": 448, "title": "1", "to": 499, "width": 1}, {"from": 458, "title": "1", "to": 1092, "width": 1}, {"from": 458, "title": "1", "to": 1160, "width": 1}, {"from": 458, "title": "1", "to": 499, "width": 1}, {"from": 458, "title": "1", "to": 470, "width": 1}, {"from": 459, "title": "1", "to": 1029, "width": 1}, {"from": 463, "title": "1", "to": 1150, "width": 1}, {"from": 463, "title": "1", "to": 470, "width": 1}, {"from": 463, "title": "1", "to": 609, "width": 1}, {"from": 466, "title": "1", "to": 1029, "width": 1}, {"from": 466, "title": "1", "to": 741, "width": 1}, {"from": 470, "title": "1", "to": 1160, "width": 1}, {"from": 470, "title": "1", "to": 499, "width": 1}, {"from": 470, "title": "1", "to": 1150, "width": 1}, {"from": 470, "title": "1", "to": 1220, "width": 1}, {"from": 474, "title": "1", "to": 508, "width": 1}, {"from": 474, "title": "1", "to": 788, "width": 1}, {"from": 481, "title": "1", "to": 1029, "width": 1}, {"from": 482, "title": "1", "to": 1147, "width": 1}, {"from": 482, "title": "1", "to": 1220, "width": 1}, {"from": 482, "title": "1", "to": 1087, "width": 1}, {"from": 482, "title": "1", "to": 951, "width": 1}, {"from": 491, "title": "2", "to": 966, "width": 2}, {"from": 491, "title": "1", "to": 875, "width": 1}, {"from": 491, "title": "1", "to": 895, "width": 1}, {"from": 491, "title": "1", "to": 644, "width": 1}, {"from": 491, "title": "1", "to": 492, "width": 1}, {"from": 491, "title": "2", "to": 926, "width": 2}, {"from": 491, "title": "1", "to": 786, "width": 1}, {"from": 492, "title": "1", "to": 926, "width": 1}, {"from": 496, "title": "1", "to": 920, "width": 1}, {"from": 499, "title": "1", "to": 1160, "width": 1}, {"from": 499, "title": "1", "to": 705, "width": 1}, {"from": 508, "title": "1", "to": 788, "width": 1}, {"from": 508, "title": "1", "to": 946, "width": 1}, {"from": 508, "title": "1", "to": 633, "width": 1}, {"from": 508, "title": "1", "to": 655, "width": 1}, {"from": 510, "title": "1", "to": 854, "width": 1}, {"from": 539, "title": "1", "to": 608, "width": 1}, {"from": 539, "title": "1", "to": 561, "width": 1}, {"from": 539, "title": "1", "to": 548, "width": 1}, {"from": 546, "title": "1", "to": 771, "width": 1}, {"from": 547, "title": "1", "to": 666, "width": 1}, {"from": 547, "title": "1", "to": 854, "width": 1}, {"from": 547, "title": "1", "to": 921, "width": 1}, {"from": 548, "title": "1", "to": 756, "width": 1}, {"from": 548, "title": "2", "to": 605, "width": 2}, {"from": 548, "title": "1", "to": 608, "width": 1}, {"from": 548, "title": "1", "to": 561, "width": 1}, {"from": 548, "title": "1", "to": 711, "width": 1}, {"from": 561, "title": "1", "to": 608, "width": 1}, {"from": 564, "title": "1", "to": 608, "width": 1}, {"from": 570, "title": "1", "to": 620, "width": 1}, {"from": 604, "title": "1", "to": 1189, "width": 1}, {"from": 605, "title": "2", "to": 756, "width": 2}, {"from": 605, "title": "1", "to": 711, "width": 1}, {"from": 633, "title": "1", "to": 946, "width": 1}, {"from": 633, "title": "1", "to": 655, "width": 1}, {"from": 636, "title": "1", "to": 913, "width": 1}, {"from": 655, "title": "1", "to": 946, "width": 1}, {"from": 656, "title": "1", "to": 939, "width": 1}, {"from": 660, "title": "1", "to": 963, "width": 1}, {"from": 660, "title": "1", "to": 991, "width": 1}, {"from": 666, "title": "1", "to": 854, "width": 1}, {"from": 666, "title": "1", "to": 921, "width": 1}, {"from": 670, "title": "1", "to": 792, "width": 1}, {"from": 670, "title": "1", "to": 1311, "width": 1}, {"from": 685, "title": "1", "to": 972, "width": 1}, {"from": 741, "title": "1", "to": 946, "width": 1}, {"from": 741, "title": "1", "to": 1262, "width": 1}, {"from": 741, "title": "2", "to": 1029, "width": 2}, {"from": 741, "title": "1", "to": 1309, "width": 1}, {"from": 771, "title": "1", "to": 854, "width": 1}, {"from": 786, "title": "6", "to": 966, "width": 6}, {"from": 786, "title": "1", "to": 939, "width": 1}, {"from": 786, "title": "1", "to": 926, "width": 1}, {"from": 792, "title": "1", "to": 1311, "width": 1}, {"from": 852, "title": "1", "to": 998, "width": 1}, {"from": 854, "title": "1", "to": 921, "width": 1}, {"from": 854, "title": "1", "to": 947, "width": 1}, {"from": 862, "title": "1", "to": 1029, "width": 1}, {"from": 875, "title": "2", "to": 966, "width": 2}, {"from": 875, "title": "1", "to": 895, "width": 1}, {"from": 875, "title": "1", "to": 926, "width": 1}, {"from": 883, "title": "1", "to": 957, "width": 1}, {"from": 895, "title": "1", "to": 966, "width": 1}, {"from": 926, "title": "2", "to": 966, "width": 2}, {"from": 935, "title": "1", "to": 998, "width": 1}, {"from": 946, "title": "1", "to": 1262, "width": 1}, {"from": 951, "title": "1", "to": 1147, "width": 1}, {"from": 951, "title": "1", "to": 1220, "width": 1}, {"from": 951, "title": "1", "to": 1087, "width": 1}, {"from": 963, "title": "1", "to": 991, "width": 1}, {"from": 992, "title": "1", "to": 1113, "width": 1}, {"from": 1041, "title": "1", "to": 1220, "width": 1}, {"from": 1087, "title": "1", "to": 1147, "width": 1}, {"from": 1087, "title": "1", "to": 1220, "width": 1}, {"from": 1147, "title": "1", "to": 1220, "width": 1}]);
// adding nodes and edges to the graph
data = {nodes: nodes, edges: edges};
var options = {"configure": {"enabled": false}, "nodes": {"font": {"size": 7}}, "edges": {"smooth": true, "color": {"opacity": 0.25}}, "physics": {"enabled": true, "forceAtlas2Based": {"springLength": 100}, "solver": "forceAtlas2Based"}};
network = new vis.Network(container, data, options);
network.on("stabilizationProgress", function(params) {
document.getElementById('loadingBar').removeAttribute("style");
var maxWidth = 496;
var minWidth = 20;
var widthFactor = params.iterations/params.total;
var width = Math.max(minWidth,maxWidth * widthFactor);
document.getElementById('bar').style.width = width + 'px';
document.getElementById('text').innerHTML = Math.round(widthFactor*100) + '%';
});
network.once("stabilizationIterationsDone", function() {
document.getElementById('text').innerHTML = '100%';
document.getElementById('bar').style.width = '496px';
document.getElementById('loadingBar').style.opacity = 0;
// really clean the dom element
setTimeout(function () {document.getElementById('loadingBar').style.display = 'none';}, 500);
});
return network;
}
drawGraph();
</script>
</body>
</html>