文件历史

提交图

92 次代码提交

作者 SHA1 备注 提交日期
Muhammed Fatih BALIN 83115794c2 [Performance][CUDA] Faster CSRToCOO (#5648)
Co-authored-by: Hongzhi (Steve), Chen <chenhongzhi.nkcs@gmail.com>
2023-07-14 12:57:38 +08:00
Rhett Ying 66c04855da [DistDGL] remove tensorpipe from third_party and no build (#5876) 2023-06-15 17:31:05 +08:00
Rhett Ying df97f2e8ee [DistDGL] remove tensorpipe-based dist cpp test (#5849) 2023-06-12 09:45:48 +08:00
Hongzhi (Steve), Chen 9ff56d2098 [Cleanup] Remove featgraph and unused TVM dependency. (#5767)
Co-authored-by: Ubuntu <ubuntu@ip-172-31-28-63.ap-northeast-1.compute.internal>
2023-06-02 15:14:31 +08:00
Hongzhi (Steve), Chen a93e5578d6 [Misc] Remove xbyak (#5752)
Co-authored-by: Ubuntu <ubuntu@ip-172-31-28-63.ap-northeast-1.compute.internal>
2023-05-30 16:40:20 +08:00
Andrzej Kotłowski 6862e37259 Upgrade libxsmm (#5725)
Co-authored-by: Rhett Ying <85214957+Rhett-Ying@users.noreply.github.com>
2023-05-24 11:25:57 +08:00
peizhou001 494d2b7a07 [GraphBolt] Add graphbolt build into dgl build (#5696)
Co-authored-by: Ubuntu <ubuntu@ip-172-31-25-242.ap-northeast-1.compute.internal>
2023-05-16 08:58:31 +08:00
Daniil Sizov aeb7862be7 [Misc] Exclude libxsmm on unsupported platforms (#5668) 2023-05-10 12:35:52 +08:00
Ilia Taraban 78ecd5086b [Fix] fix libxsmm build issues on Mac OS (#5626) 2023-04-28 21:55:51 +08:00
Ilia Taraban acb4eb7ecd [Feature] Add bfloat16 support for CPU (#5497)
Co-authored-by: Hongzhi (Steve), Chen <chenhongzhi.nkcs@gmail.com>
2023-04-06 11:16:41 +02:00
Xin Yao acb955e15f [Cleanup] Cleanup unused CMake options (#5470)
* cleanup unused cmake options

* disable BUILD_TORCH for cugraph

* resolve comments
2023-03-22 16:06:44 +08:00
Daniil Sizov 87fb7ed05b [Config] Enable libxsmm by default for AVX cpu (#5165)
* Enable AVX by default

* Fix linting errors

* Fix win64 build (libxsmm not linked)

Libxsmm on Win64 is not linked, should be disabled by default

* Fix clang format issues

* Change lower supported cpu version to LIBXSMM_X86_AVX2

Change lower supported cpu version to LIBXSMM_X86_AVX2 to address https://github.com/dmlc/dgl/issues/3459 issue

* Fix unit test

Remove assumption that libxsmm is enabled in the config by default (only true for intel CPUs with AVX2 instructions)

---------

Co-authored-by: Ubuntu <ubuntu@ip-172-31-15-137.us-west-2.compute.internal>
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
2023-03-16 02:05:22 +08:00
Xin Yao 8d5d8962ad [Refactor] Replace third_party/nccl with PyTorch's NCCL backend (#4989)
* expose GeneratePermutation

* add sparse_all_to_all_push

* add sparse_all_to_all_pull

* add unit test

* handle world_size=1

* remove python nccl wrapper

* remove the nccl dependency

* use pinned memory to speedup D2H copy

* fix lint

* resolve comments

* fix lint

* fix ut

* resolve comments
2023-03-08 12:59:10 +08:00
bgawrych 85526e34a1 [FIX] Ubuntu 22 build fix (#5272)
* Fix ubuntu 22 build

* Add one more flag
2023-03-03 10:04:22 +08:00
Hongzhi (Steve), Chen 325e795a18 Revert "Set USE_LIBXSMM default to OFF. (#5287)" (#5392)
This reverts commit a5e3139155.
2023-03-01 16:47:34 +08:00
Hongzhi (Steve), Chen a5e3139155 Set USE_LIBXSMM default to OFF. (#5287)
* Set USE_LIBXSMM default to OFF.

* update

---------

Co-authored-by: Steve <ubuntu@ip-172-31-34-29.ap-northeast-1.compute.internal>
2023-02-16 13:08:11 +08:00
Rhett Ying 0c5d6f1b00 [BUILD] enable dgl sparse build in default (#5175)
* enable dgl sparse build in default

* disable sparse build on cugraph

* update
2023-01-16 14:01:39 +08:00
Quan (Andy) Gan 9a40d2080e [Sparse] Change CMakeFiles to build DGL Sparse for multiple PyTorch versions (#5106)
* initial commit

* Update build.sh
2023-01-06 14:14:20 +08:00
czkkkkkk 1f2fcae3e2 [Sparse] Support SpMM and SDDMM (#5032)
* [Sparse] Support SpMM and SDDMM

* Add SDDMMAutoGrad

* Rename SpMMImpl and SDDMMImpl and move them to dgl_sparse/src/matmul.h

* Update comments

* Update

* Minor fix
2022-12-21 10:29:23 +08:00
czkkkkkk d02e560e07 Revert "[Sparse] Add SpMM and SDDMM." (#5014)
* Revert "[Sparse] Add SpMM and SDDMM. (#4999)"

This reverts commit 15365d7855.

* lint
2022-12-12 19:37:08 +08:00
czkkkkkk 15365d7855 [Sparse] Add SpMM and SDDMM. (#4999)
* [Sparse] Add SpMM and SDDMM

* Update

* Add CSR and CSC SpMM tests
2022-12-12 15:37:09 +08:00
czkkkkkk 774d57539c [CMAKE] Disable --exclude-libs option in MAX OS (#4992) 2022-12-08 10:40:26 +08:00
Muhammed Fatih BALIN b1e2695f3e [Feature] replace dgl PRNG with pcg32 (#4807)
* replace dgl PRNG with pcg32

* remove pcg submodule, add a simple implementation

* replace pcg32 with std::mt19937_64

* fix include order

* change RandomEngine to pcg32

* Remove custom pcg32 implementation, use the submodule provided by the original author.

* minor bug

* move include for linting

* include pcg for tests too

Co-authored-by: Hongzhi (Steve), Chen <chenhongzhi.nkcs@gmail.com>
2022-12-01 09:19:28 +08:00
czkkkkkk 0cb5f0fdc0 [Sparse] Be compatible with Pytorch 1.13 and later version (#4935) 2022-11-23 15:36:18 -08:00
Muhammed Fatih BALIN bf264d00fe [Feature] (La)yer-Neigh(bor) sampling implementation (#4668)
* adding LABOR sampling

* add ladies and pladies samplers

* fix compile error after rebase

* add reference for ladies sampler

* Improve ladies implementation.

* weighted labor sampling initial implementation draft
fix indentation and small bug in ladies script

* importance_sampling currently doesn't work with weights

* fix weighted importance sampling

* move labor example into its own folder

* lint fixes

* Improve documentation

* remove examples from the main PR

* fix linting by not using c++17 features

* fix documentation of labor_sampler.py

* update documentation for labor.py

* reformat the labor.py file with black

* fix linting errors

* replace exception use with if

* fix typo in error comment

* fixing win64 build for ci

* fixing weighted implementation, works now.

* fix bug in the weighted case and importance_sampling==0

* address part of the reviews

* remove unused code paths from cuda

* remove unused code path from cpu side

* remove extra features of labor making use of random seed.

* fix exclude_edges bug

* remove pcg and seed logic from cpu implementation, seed logic should still work for cuda.

* minor style change

* refactor CPU implementation, take out the importance_sampling probability computation into a function.

* improve CUDAWorkspaceAllocator

* refactor importance_sampling part out to a function

* minor optimization

* fix linting issue

* Revert "remove pcg and seed logic from cpu implementation, seed logic should still work for cuda."

This reverts commit c250e07ac6d7e13f57e79e8a2c2f098d777378c2.

* Revert "remove extra features of labor making use of random seed."

This reverts commit 7f99034353080308f4783f27d9a08bea343fb796.

* fix the documentation

* disable NIDs

* improve the documentation in the code

* use the stream argument in pcg32 instead of skipping ahead t times, can discard the use of hashmap now since it is faster this way.

* fix linting issue

* address another round of reviews

* further optimize CPU LABOR sampling implementation

* fix linting error

* update the comment

* reformat

* rename and rephrase comment

* fix formatting according to new linting specs

* fix compile error due to renaming, fix linting.

* lint

* rename DGLHeteroGraph to DGLGraph to match master

* replace other occurrences of DGLHeteroGraph to DGLGraph

Co-authored-by: Muhammed Fatih BALIN <m.f.balin@gmail.com>
Co-authored-by: Kaan Sancak <kaansnck@gmail.com>
Co-authored-by: Quan Gan <coin2028@hotmail.com>
2022-11-22 09:03:02 +08:00
czkkkkkk 06438d7033 [Sparse] Link to DGL (#4877) 2022-11-17 10:14:08 +08:00
czkkkkkk 7c059e86c7 [Sparse] Add sparse matrix C++ implementation (#4773)
* [Sparse] Add sparse matrix C++ implementation

* Add documentation

* Update

* Minor fix

* Move Python code to dgl/mock_sparse2

* Move headers to include

* lint

* Update

* Add dgl_sparse directory

* Move src code to dgl_sparse

* Add __init__.py in tests to avoid naming conflict

* Add dgl sparse so in Jenkinsfile

* Complete docstring & SparseMatrix basic op

* lint

* Disable win tests
2022-11-07 18:01:19 +08:00
Xin Yao 96297fb8fd [Feature] Add bfloat16 (bf16) support (#4648)
* add bf16 specializations

* remove SWITCH_BITS

* enable amp for bf16

* remove SWITCH_BITS for cpu kernels

* enbale bf16 based on CUDART

* fix compiling for sm<80

* fix cpu build

* enable unit tests

* update doc

* disable test for CUDA < 11.0

* address comments

* address comments
2022-11-06 19:48:36 +08:00
Xin Yao 880b3b1f97 [Fix] Enable lint check for cuh files and fix compiler warnings (#4585)
* disable warning for tensorpipe

* fix warning

* enable lint check for cuh files

* resolve comments
2022-09-21 10:09:14 +08:00
Israt Nisa 06608f847c [Cleanup] Remove duplicate entries of CUB submodule (issue# 4395) (#4499)
* remove third_part/cub

* remove from third_party

Co-authored-by: Israt Nisa <nisisrat@amazon.com>
Co-authored-by: Xin Yao <xiny@nvidia.com>
2022-09-05 13:23:08 +08:00
nv-dlasalle 806def67a1 [Cleanup] Remove async_transferer (#4505)
* Remove async_transferer

* remove test

* Remove AsyncTransferer

Co-authored-by: Xin Yao <xiny@nvidia.com>
Co-authored-by: Xin Yao <yaox12@outlook.com>
2022-09-05 11:46:06 +08:00
Xin Yao 86c81b4e92 [Feature] Add CUDA Weighted Neighborhood Sampling (#4064)
* add weighted sampling without replacement (A-Chao)

* improve Algorithm A-Chao with block-wise prefix sum

* correctly fill out_idxs

* implement weighted sampling with replacement

* small fix

* merge host-side code of weighted/uniform sampling

* enable unit tests for cuda weighted sampling

* move thrust/cub wrapper to the cmake file

* update docs accordingly

* fix linting

* fix linting

* fix unit test

* Bump external CUB/Thrust versions

* Fix code style and update description of algorithm design

* [Feature] GPU support weighted graph neighbor sampling
commit by pengqirong(OPPO)

* merge pengqirong's implementation

* revert the change to cub and thrust

* fix linting

* use DeviceSegmentedSort for better performance

* add more comments

* add necessary notes

* add necessary notes

* resolve some comments

* define THRUST_CUB_WRAPPED_NAMESPACE

* fix doc

Co-authored-by: 彭齐荣 <657017034@qq.com>
2022-07-29 11:08:48 +08:00
Xin Yao 9ee7ced5e3 [Performance] Redirect AllocWorkspace to PyTorch's allocator if available (#4199) 2022-07-07 13:35:44 +08:00
Rhett Ying 1518861148 [BugFix] fix build issue on mac OS (#4175)
* [BugFix] fix build issue on mac OS

* refine
2022-06-28 18:51:02 +08:00
Rhett Ying 9d425315da [Dist] enable USE_EPOLL in default (#4167)
* [Dist] enable USE_EPOLL in default

* fix build issue on windows

* fix build issue on windows

* fix build issue on windows

* fix build issue on windows

* fix build issue on windows

* fix build issue
2022-06-27 09:12:54 +08:00
Rhett Ying c1ff4c9b41 [DistTest] add basic pipeline for dist test across machines (#3984)
* [DistTest] add basic pipeline for dist test across machines

* move launch remote cmd to separate file

* add test for rpc

* fix function naming rule

Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
2022-06-08 12:37:02 +08:00
Vikram Sharma 1a6806e26d Make USE_AVX flag default value OFF (#3983)
With the emergence of new ISA (like ARM and RISCV) retaining USE_AVX ON default makes the default build instructions fail. Fundamentally DGL does not require the use of AVX for functional working. AVX is mainly needed when to enable optimization. So proposal is to default turn it off and then later during build instructions, folks with AVX capabilities can enable with 
`cmake .. -DUSE_AVX=ON`

Co-authored-by: Zihao Ye <expye@outlook.com>
2022-05-11 02:25:39 -07:00
nv-dlasalle 3512207560 Change standard to c++14 to be compatible to tensorpipe's dependencies (#3712)
Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2022-02-07 14:55:09 +08:00
Quan (Andy) Gan 6dce19d8ff [Build] Fix compiler crashes when system's libuv-devel is older than required (#3640) 2022-01-11 16:08:12 +08:00
Jinjing Zhou a3ce780d29 [RPC] Use tensorpipe for rpc communication (#3335)
* doesn't know whether works

* add change

* fix

* fix

* fix

* remove

* revert

* lint

* lint

* fix

* revert

* lint

* fix

* only build rpc on linux

* lint

* lint

* fix build on windows

* fix windows

* remove old test

* fix cmake

* Revert "remove old test"

This reverts commit f1ea75c777c34cdc1f08c0589676ba6aee1feb29.

* fix windows

* fix

* fix

* fix indent

* fix indent

* address comment

* fix

* fix

* fix

* fix

* fix

* lint

* fix indent

* fix lint

* add introduction

* fix

* lint

* lint

* add more logs

* fix

* update xbyak for C++14 with gcc5

* Remove channels

* fix

* add test script

* fix

* remove unused file

* fix lint

* add timeout
2021-12-06 20:03:33 +08:00
Jinjing Zhou 769718dfcf Bring back thrust for backward compatibility (#3562) 2021-12-03 16:30:35 +08:00
Jinjing Zhou 9f445a1362 Fix removed submodule (#3560) 2021-12-03 01:28:32 +08:00
Jinjing Zhou 03c2c6d145 Fix #3497 (#3546) 2021-11-29 14:58:10 +08:00
zexi yuan 188630698e [Bugfix] three bugs related to using DGL as a subdirectory(third_party) of another project. (#3379)
* [Bugfix] fix a compile error for Debug-BuildType on Windows Platform

When using CMakeLists.txt to build the "Debug" BuildType on the Windows Platform, it has three compile errors (C4716) in the file "dgl\src\runtime\shared_mem.cc":

'dgl::runtime::SharedMemory::CreateNew': must return a value
'dgl::runtime::SharedMemory::Open': must return a value
'dgl::runtime::SharedMemory::Exist': must return a value

* [Bugfix] cmake error "cannot find load file" when DGL as a sub_directory on Linux

When using DGL as a subdirectory in a CMake Project, the "CMAKE_SOURCE_DIR" here will return the parent cmake scope dir, which is not a expected dir.
Maybe it is better to use "CMAKE_CURRENT_SOURCE_DIR" to set "GKLIB_PATH".

* [Bugfix] cmd cmake error when DGL as a subdirectory

When DGL as a subdirectory of another project, the WORKING_DIRECTORY of "add_custom_command" will be incorrect at the line 255 of "CMakeLists.txt", such that making a cmake "setlocal" error.
2021-10-14 14:43:23 +08:00
Jingcheng Yu 5cf48fc69c [Feature] Implement one thread multiple socket (#3200)
Co-authored-by: JingchengYu94 <jingchengyu94@gmail.com>
2021-09-27 21:45:52 -07:00
Jinjing Zhou c81efdf215 Remove deprecated kernels (#3316)
* remove

* remove

* fix

* remove

* remove
2021-09-06 13:59:41 +08:00
Quan (Andy) Gan 7c3e1f94b9 Remove march=native flag (#3134) 2021-07-13 15:16:18 +08:00
sanchit-misra fac75e166b [CPU][Kernel] Single socket spmm (#3024)
* optimizations of spmm for CPU

* Added names of contributors

* Minor code cleanup

* Moved the spmm optimization code to a new header file

* Moved to DGL's logging method

* removed duplicate code between SpMMSumCsr and SpMMCmpCsr

* Changes made to follow Google coding style

* Fixed lint errors in spmm.h

* Fixed some lint errors from spmm_blocking_libxsmm.h

* Fixed lint errors from spmm_blocking_libxsmm.h

* Added comments to SpMMCreateLibxsmmKernel

* to enable building of tests, and other cosmetic changes

* disabling libxsmm on windows

* Put a condition to avoid opt impl for FP64 as libxsmm does not have FP64 support yet

* cosmetic changes and documentation

* cosmetic changes

* to pass lint tests

* replaced multiple allocations for buffers of indices and edges with a single allocation

Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
2021-07-13 11:18:29 +08:00
Jinjing Zhou 9664cdffd3 [Build] Make nccl optional (#3056)
* fix

* remove nvidiasmi

* fix

* fix docs

* fix

* fix

* 1

* fix

* remove

* skip deprecated kernel

* fix

* Revert "skip deprecated kernel"

This reverts commit c5ceb7f60dbbaf065b81cc3680757fd611d90ad3.

* fix
2021-06-27 22:36:01 +08:00
Quan (Andy) Gan 7e58236cc7 [Build] Fix NCCL building crashes when using submodules but with system NCCL installed (#2975) 2021-06-03 14:41:52 +08:00