Skip to content

Commit e1bbd01

Browse files
authored
Merge pull request #80 from yuehhua/develop
Add ScatterNNlib and GraphSignals as deps
2 parents 3c80741 + 0f05b16 commit e1bbd01

40 files changed

+101
-2254
lines changed

.travis.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ os:
99

1010
julia:
1111
- 1.4
12+
- 1.5
1213
- nightly
1314

1415
branches:
@@ -22,9 +23,6 @@ after_success:
2223
notifications:
2324
email: false
2425

25-
git:
26-
depth: 99999999
27-
2826
env:
2927
- JULIA_CUDA_SILENT=true
3028

@@ -34,7 +32,7 @@ jobs:
3432
fast_finish: true
3533
include:
3634
- stage: Documentation
37-
julia: 1.4
35+
julia: 1.5
3836
script: julia --project=docs -e '
3937
using Pkg;
4038
Pkg.develop(PackageSpec(path=pwd()));

Manifest.toml

Lines changed: 67 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ version = "0.0.4"
2626

2727
[[ArrayLayouts]]
2828
deps = ["FillArrays", "LinearAlgebra"]
29-
git-tree-sha1 = "6f6e33efac70fc24c1f2a654a090b7af01690ffe"
29+
git-tree-sha1 = "951c3fc1ff93497c88fb1dfa893f4de55d0b38e3"
3030
uuid = "4c555306-a7a7-4459-81d9-ec55ddd5c99a"
31-
version = "0.3.7"
31+
version = "0.3.8"
3232

3333
[[Base64]]
3434
uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
@@ -46,21 +46,21 @@ version = "0.4.1"
4646

4747
[[CUDA]]
4848
deps = ["AbstractFFTs", "Adapt", "BinaryProvider", "CEnum", "DataStructures", "ExprTools", "GPUArrays", "GPUCompiler", "LLVM", "Libdl", "LinearAlgebra", "Logging", "MacroTools", "NNlib", "Pkg", "Printf", "Random", "Reexport", "Requires", "SparseArrays", "Statistics", "TimerOutputs"]
49-
git-tree-sha1 = "66dbcc0d8e9470358d57aa52dbe74f97bab31a7f"
49+
git-tree-sha1 = "2c007bb3931360013d32bcd53a727e0a7f144e00"
5050
uuid = "052768ef-5323-5732-b1bb-66c8b64840ba"
51-
version = "1.2.0"
51+
version = "1.2.1"
5252

5353
[[ChainRules]]
5454
deps = ["ChainRulesCore", "LinearAlgebra", "Random", "Reexport", "Requires", "Statistics"]
55-
git-tree-sha1 = "fbc6ca7a758b15cbb18df4936b2f588fbf3abdda"
55+
git-tree-sha1 = "f54401294c1ed68d7cc2a7ea280ec101bca722bc"
5656
uuid = "082447d4-558c-5d27-93f4-14fc19e9eca2"
57-
version = "0.7.10"
57+
version = "0.7.12"
5858

5959
[[ChainRulesCore]]
6060
deps = ["MuladdMacro"]
61-
git-tree-sha1 = "87e289253a5fc690c4860a41bbd427e16576f716"
61+
git-tree-sha1 = "971b03f25bdf2acab79f1c51afc717f9dccf43c2"
6262
uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
63-
version = "0.9.3"
63+
version = "0.9.5"
6464

6565
[[CodecZlib]]
6666
deps = ["TranscodingStreams", "Zlib_jll"]
@@ -70,9 +70,9 @@ version = "0.7.0"
7070

7171
[[ColorTypes]]
7272
deps = ["FixedPointNumbers", "Random"]
73-
git-tree-sha1 = "6e7aa35d0294f647bb9c985ccc34d4f5d371a533"
73+
git-tree-sha1 = "607c0ea16cb32af49ea2976f90c0c5acbca37d21"
7474
uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f"
75-
version = "0.10.6"
75+
version = "0.10.8"
7676

7777
[[Colors]]
7878
deps = ["ColorTypes", "FixedPointNumbers", "InteractiveUtils", "Reexport"]
@@ -105,9 +105,9 @@ version = "1.3.0"
105105

106106
[[DataStructures]]
107107
deps = ["InteractiveUtils", "OrderedCollections"]
108-
git-tree-sha1 = "edad9434967fdc0a2631a65d902228400642120c"
108+
git-tree-sha1 = "88d48e133e6d3dd68183309877eac74393daa7eb"
109109
uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
110-
version = "0.17.19"
110+
version = "0.17.20"
111111

112112
[[Dates]]
113113
deps = ["Printf"]
@@ -146,27 +146,27 @@ version = "0.1.1"
146146

147147
[[FileIO]]
148148
deps = ["Pkg"]
149-
git-tree-sha1 = "202335fd24c2776493e198d6c66a6d910400a895"
149+
git-tree-sha1 = "1e7e88a949b52e6f7f589041bd60928322414997"
150150
uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549"
151-
version = "1.3.0"
151+
version = "1.4.1"
152152

153153
[[FillArrays]]
154154
deps = ["LinearAlgebra", "Random", "SparseArrays"]
155-
git-tree-sha1 = "be4180bdb27a11188d694ee3773122f4921f1a62"
155+
git-tree-sha1 = "4863cbb7910079369e258dee4add9d06ead5063a"
156156
uuid = "1a297f60-69ca-5386-bcde-b61e274b549b"
157-
version = "0.8.13"
157+
version = "0.8.14"
158158

159159
[[FixedPointNumbers]]
160160
deps = ["Statistics"]
161-
git-tree-sha1 = "266baee2e9d875cb7a3bfdcc6cab553c543ff8ab"
161+
git-tree-sha1 = "335bfdceacc84c5cdf16aadc768aa5ddfc5383cc"
162162
uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93"
163-
version = "0.8.2"
163+
version = "0.8.4"
164164

165165
[[Flux]]
166166
deps = ["AbstractTrees", "Adapt", "CUDA", "CodecZlib", "Colors", "DelimitedFiles", "Functors", "Juno", "LinearAlgebra", "MacroTools", "NNlib", "Pkg", "Printf", "Random", "Reexport", "SHA", "Statistics", "StatsBase", "Test", "ZipFile", "Zygote"]
167-
git-tree-sha1 = "a95bba0ee46dc320b34969fa246cc965c20c2c10"
167+
git-tree-sha1 = "ceb09ce8510ef31fd86a791bbd0e1d72a60f27d7"
168168
uuid = "587475ba-b771-5e3f-ad9e-33799f191a9c"
169-
version = "0.11.0"
169+
version = "0.11.1"
170170

171171
[[ForwardDiff]]
172172
deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "NaNMath", "Random", "SpecialFunctions", "StaticArrays"]
@@ -186,15 +186,27 @@ uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820"
186186

187187
[[GPUArrays]]
188188
deps = ["AbstractFFTs", "Adapt", "LinearAlgebra", "Printf", "Random", "Serialization"]
189-
git-tree-sha1 = "0aaa4ff7001086e190a00180495b93b00df8bb43"
189+
git-tree-sha1 = "9027d6128645d227fa9ba7d5b3aa00af696b9aaf"
190190
uuid = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7"
191-
version = "4.0.1"
191+
version = "5.0.0"
192192

193193
[[GPUCompiler]]
194194
deps = ["DataStructures", "InteractiveUtils", "LLVM", "Libdl", "TimerOutputs", "UUIDs"]
195-
git-tree-sha1 = "6f46f295e8e504fce363caf2a28a2a56270681c0"
195+
git-tree-sha1 = "d6db068d8373bb45ac17e14744cc1d3681d0dbc7"
196196
uuid = "61eb1bfa-7361-4325-ad38-22787b887f55"
197-
version = "0.5.3"
197+
version = "0.5.5"
198+
199+
[[GraphLaplacians]]
200+
deps = ["LightGraphs", "LinearAlgebra", "MetaGraphs", "SimpleWeightedGraphs", "SparseArrays", "Zygote"]
201+
git-tree-sha1 = "83881eb8eda839992f6310d9c4514b7ffb5498fe"
202+
uuid = "a1251efa-393a-423f-9d7b-faaecba535dc"
203+
version = "0.1.0"
204+
205+
[[GraphSignals]]
206+
deps = ["GraphLaplacians", "LightGraphs", "LinearAlgebra", "SimpleWeightedGraphs", "Zygote"]
207+
git-tree-sha1 = "6e62e16c779458412951a71f4d535f05a1e0bb89"
208+
uuid = "3ebe565e-a4b5-49c6-aed2-300248c3a9c1"
209+
version = "0.1.1"
198210

199211
[[IRTools]]
200212
deps = ["InteractiveUtils", "MacroTools", "Test"]
@@ -213,15 +225,15 @@ uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
213225

214226
[[JLD2]]
215227
deps = ["CodecZlib", "DataStructures", "FileIO", "Mmap", "Pkg", "Printf", "UUIDs"]
216-
git-tree-sha1 = "e03e697cf84c275ece9cbefd1eabaf49bf5e7254"
228+
git-tree-sha1 = "9353b717ee4e27beab4e902c92a06bb5f160d2cf"
217229
uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819"
218-
version = "0.1.13"
230+
version = "0.1.14"
219231

220232
[[Juno]]
221233
deps = ["Base64", "Logging", "Media", "Profile"]
222-
git-tree-sha1 = "a686b0cf235fa3e491b79b4783c2d2382292b436"
234+
git-tree-sha1 = "90976c3ab792a98d240d42f9df07420ccfc60668"
223235
uuid = "e5e0dc1b-0480-54bc-9374-aad01c23163d"
224-
version = "0.8.2"
236+
version = "0.8.3"
225237

226238
[[LLVM]]
227239
deps = ["CEnum", "Libdl", "Printf", "Unicode"]
@@ -230,6 +242,7 @@ uuid = "929cbde3-209d-540e-8aea-75f648917ca0"
230242
version = "2.0.0"
231243

232244
[[LibGit2]]
245+
deps = ["Printf"]
233246
uuid = "76f85450-5226-5b5a-8eaa-529ad045b433"
234247

235248
[[Libdl]]
@@ -250,9 +263,9 @@ uuid = "56ddb016-857b-54e1-b83d-db4d58db5568"
250263

251264
[[LoopVectorization]]
252265
deps = ["DocStringExtensions", "LinearAlgebra", "OffsetArrays", "SIMDPirates", "SLEEFPirates", "UnPack", "VectorizationBase"]
253-
git-tree-sha1 = "4c002de66221639174e081ec74c156e9013e4afa"
266+
git-tree-sha1 = "df625d1ac07cb4b630ec1c024a42b8bc6ee9927f"
254267
uuid = "bdcacae8-1622-11e9-2a5c-532679323890"
255-
version = "0.8.17"
268+
version = "0.8.23"
256269

257270
[[MacroTools]]
258271
deps = ["Markdown", "Random"]
@@ -290,27 +303,21 @@ git-tree-sha1 = "c6190f9a7fc5d9d5915ab29f2134421b12d24a68"
290303
uuid = "46d2c3a1-f734-5fdb-9937-b9b9aeba4221"
291304
version = "0.2.2"
292305

293-
[[NNPACK_jll]]
294-
deps = ["Libdl", "Pkg"]
295-
git-tree-sha1 = "c3d1a616362645754b18e12dbba96ec311b0867f"
296-
uuid = "a6bfbf70-4841-5cb9-aa18-3a8ad3c413ee"
297-
version = "2018.6.22+0"
298-
299306
[[NNlib]]
300-
deps = ["Libdl", "LinearAlgebra", "LoopVectorization", "NNPACK_jll", "Pkg", "Requires", "Statistics"]
301-
git-tree-sha1 = "1d8128735fdf3ab1643dd8bc9499e4b34ccb718d"
307+
deps = ["Libdl", "LinearAlgebra", "Pkg", "Requires", "Statistics"]
308+
git-tree-sha1 = "8ec4693a5422f0b064ce324f59351f24aa474893"
302309
uuid = "872c559c-99b0-510c-b3b7-b6c96a88d5cd"
303-
version = "0.7.3"
310+
version = "0.7.4"
304311

305312
[[NaNMath]]
306313
git-tree-sha1 = "c84c576296d0e2fbb3fc134d3e09086b3ea617cd"
307314
uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3"
308315
version = "0.3.4"
309316

310317
[[OffsetArrays]]
311-
git-tree-sha1 = "4ba4cd84c88df8340da1c3e2d8dcb9d18dd1b53b"
318+
git-tree-sha1 = "2066e16af994955287f2e03ba1d9e890eb43b0dd"
312319
uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881"
313-
version = "1.1.1"
320+
version = "1.1.2"
314321

315322
[[OpenSpecFun_jll]]
316323
deps = ["CompilerSupportLibraries_jll", "Libdl", "Pkg"]
@@ -324,7 +331,7 @@ uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
324331
version = "1.3.0"
325332

326333
[[Pkg]]
327-
deps = ["Dates", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Test", "UUIDs"]
334+
deps = ["Dates", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"]
328335
uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
329336

330337
[[Printf]]
@@ -360,15 +367,21 @@ uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
360367

361368
[[SIMDPirates]]
362369
deps = ["VectorizationBase"]
363-
git-tree-sha1 = "cbe8797ac354d0b1dfe75d983429938db834b706"
370+
git-tree-sha1 = "26ccdd1466f3071e27e81b43216ea238b62c0c42"
364371
uuid = "21efa798-c60a-11e8-04d3-e1a92915a26a"
365-
version = "0.8.16"
372+
version = "0.8.24"
366373

367374
[[SLEEFPirates]]
368375
deps = ["Libdl", "SIMDPirates", "VectorizationBase"]
369-
git-tree-sha1 = "c750d618b7c8268a97e55c70e8c88e56080d30fa"
376+
git-tree-sha1 = "67ae90a18aa8c22bf159318300e765fbd89ddf6e"
370377
uuid = "476501e8-09a2-5ece-8869-fb82de89a1fa"
371-
version = "0.5.4"
378+
version = "0.5.5"
379+
380+
[[ScatterNNlib]]
381+
deps = ["CUDA", "DataStructures", "FillArrays", "StaticArrays", "Statistics", "Zygote", "ZygoteRules"]
382+
git-tree-sha1 = "4e1d9dcde9d934fc2e38013d4d49277f09556529"
383+
uuid = "b1168b60-8710-48c1-88d2-5c53ae207dd0"
384+
version = "0.1.1"
372385

373386
[[Serialization]]
374387
uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
@@ -445,18 +458,18 @@ deps = ["Random", "SHA"]
445458
uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
446459

447460
[[UnPack]]
448-
git-tree-sha1 = "d4bfa022cd30df012700cf380af2141961bb3bfb"
461+
git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b"
449462
uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed"
450-
version = "1.0.1"
463+
version = "1.0.2"
451464

452465
[[Unicode]]
453466
uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"
454467

455468
[[VectorizationBase]]
456469
deps = ["CpuId", "Libdl", "LinearAlgebra"]
457-
git-tree-sha1 = "95c0c737c307dfd4f65ad50a79856b343fdb7959"
470+
git-tree-sha1 = "314bf15162034f846720ee1c3c3300dffd462253"
458471
uuid = "3d5dd08c-fd9d-11e8-17fa-ed2836048c2f"
459-
version = "0.12.24"
472+
version = "0.12.31"
460473

461474
[[ZipFile]]
462475
deps = ["Libdl", "Printf", "Zlib_jll"]
@@ -466,15 +479,15 @@ version = "0.9.2"
466479

467480
[[Zlib_jll]]
468481
deps = ["Libdl", "Pkg"]
469-
git-tree-sha1 = "622d8b6dc0c7e8029f17127703de9819134d1b71"
482+
git-tree-sha1 = "d5bba6485811931e4b8958e2d7ca3738273ac468"
470483
uuid = "83775a58-1f1d-513f-b197-d71354ab007a"
471-
version = "1.2.11+14"
484+
version = "1.2.11+15"
472485

473486
[[Zygote]]
474487
deps = ["AbstractFFTs", "ArrayLayouts", "ChainRules", "DiffRules", "Distributed", "FillArrays", "ForwardDiff", "Future", "IRTools", "InteractiveUtils", "LinearAlgebra", "LoopVectorization", "MacroTools", "NNlib", "NaNMath", "Random", "Requires", "SpecialFunctions", "Statistics", "ZygoteRules"]
475-
git-tree-sha1 = "16a7228209e6f457e9d71c39a58965616425384e"
488+
git-tree-sha1 = "0079d92995b0fbcffd5d475d49ec8ca49375c471"
476489
uuid = "e88e6eb3-aa80-5325-afca-941959d7151f"
477-
version = "0.5.3"
490+
version = "0.5.4"
478491

479492
[[ZygoteRules]]
480493
deps = ["MacroTools"]

Project.toml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,13 @@ CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
88
DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
99
FillArrays = "1a297f60-69ca-5386-bcde-b61e274b549b"
1010
Flux = "587475ba-b771-5e3f-ad9e-33799f191a9c"
11+
GraphSignals = "3ebe565e-a4b5-49c6-aed2-300248c3a9c1"
1112
LightGraphs = "093fc24a-ae57-5d10-9952-331d41423f4d"
1213
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
1314
MetaGraphs = "626554b9-1ddb-594c-aa3c-2596fe9399a5"
1415
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
1516
Requires = "ae029012-a4dd-5104-9daa-d747884805df"
17+
ScatterNNlib = "b1168b60-8710-48c1-88d2-5c53ae207dd0"
1618
SimpleWeightedGraphs = "47aef6b3-ad0c-573a-a1e2-d07658019622"
1719
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
1820
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
@@ -22,17 +24,19 @@ ZygoteRules = "700de1a5-db45-46bc-99cf-38207098b444"
2224

2325
[compat]
2426
CUDA = "1.2"
25-
DataStructures = "~0.17"
26-
FillArrays = "^0.8.5"
27-
Flux = "~0.10, 0.11"
27+
DataStructures = "0.17"
28+
FillArrays = "0.8 - 0.9"
29+
Flux = "0.10 - 0.11"
30+
GraphSignals = "0.1"
2831
LightGraphs = "1.3"
2932
MetaGraphs = "0.6"
30-
Requires = "^1.0.0"
33+
Requires = "1.0.0"
34+
ScatterNNlib = "0.1"
3135
SimpleWeightedGraphs = "1.1"
32-
StaticArrays = "^0.12.1"
33-
Zygote = "~0.4, 0.5"
34-
ZygoteRules = "~0.2"
35-
julia = "1.4"
36+
StaticArrays = "0.12"
37+
Zygote = "0.4 - 0.5"
38+
ZygoteRules = "0.2"
39+
julia = "1.4 - 1.5"
3640

3741
[extras]
3842
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

README.md

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -59,15 +59,3 @@ evalcb() = @show(accuracy(train_X, train_y))
5959
6060
Flux.train!(loss, ps, train_data, opt, cb=throttle(evalcb, 10))
6161
```
62-
63-
## Benchmark
64-
65-
Scatter operations are fundamental to GeometricFlux.jl and they are implemented in CPU and CUDA version. Benchmarks of scatter operations are done with scripts in benchmark folder. Statistics, includes max, min and mean, are shown in the following plots.
66-
67-
![](benchmark/pics/gpu_scatter.svg)
68-
69-
Performance of scatter add operations in GeometricFlux is better than pytorch_scatter on cuda.
70-
71-
![](benchmark/pics/cpu_scatter.svg)
72-
73-
However, performance in GeometricFlux is even worse than pytorch_scatter on cpu/threading.

REQUIRE

Lines changed: 0 additions & 2 deletions
This file was deleted.

benchmark/benchmarks.jl

Lines changed: 0 additions & 1 deletion
This file was deleted.

benchmark/pics/cpu_scatter.png

-58.4 KB
Binary file not shown.

0 commit comments

Comments
 (0)