chenxuhao / graphminer Goto Github PK
View Code? Open in Web Editor NEWGraph Pattern Mining
License: MIT License
Graph Pattern Mining
License: MIT License
Hello,
I'm having an issue with the GPU code, when I run even with the graph provided I always get zero for the number of triangles or other patterns. The OpenMP code seems to work fine with me. I provided the output of both GPU and OpenMP.
GPU:
./tc_gpu_base /home/ghadeer/cit-Patents/graph
Triangle Counting (for undirected graphs only)
Using DAG (static orientation)
Orientation enabled, using DAG
Time on generating the DAG: 0.216688 sec
|V| 3774769 |E| 16518947
Found 4 devices
Device[0]: NVIDIA TITAN V
Compute capability: 7.0
Warp size: 32
Total # SM: 80
Total # CUDA cores: 5120
Total amount of shared memory per block: 49152 bytes
Total # registers per block: 65536
Total amount of constant memory: 65536 bytes
Total global memory: 11.8 GB
Memory Clock Rate: 0.81 GHz
Memory Bus Width: 3072 bits
Peak Memory Bandwidth: 652.80 GB/s
Device[1]: NVIDIA GeForce RTX 2070 SUPER
Device[2]: NVIDIA TITAN Xp
Device[3]: Tesla K40c
GPU_total_mem = 12652838912 graph_mem = 162349736
Time on generating the edgelist: 0.070154 sec
Edge parallel: edgelist size = 16518947
max_blocks_per_SM = 0
CUDA triangle counting (65536 CTAs, 256 threads/CTA)
runtime [gpu_base] = 2e-06 sec
throughput = 8259.47 billion Traversed Edges Per Second (TEPS)
total_num_triangles = 0
OpenMP (which seems to work fine)
./tc_gpu_base 0 /home/ghadeer/cit-Patents/graph
Triangle Counting (for undirected graphs only)
Using DAG (static orientation)
tc_gpu_base: ../common/graph.cc:8: Graph::Graph(std::string, bool, bool): Assertion `f_meta' failed.
Aborted (core dumped)
[gaa54@ithaca bin]$ ./tc_gpu_base
Usage: ./tc_gpu_base [num_gpu(1)] [chunk_size(1024)]
Example: ./tc_gpu_base /graph_inputs/mico/graph
[gaa54@ithaca bin]$ ./tc_omp_base /home/ghadeer/cit-Patents/graph 0
Triangle Counting (for undirected graphs only)
Using DAG (static orientation)
Orientation enabled, using DAG
Time on generating the DAG: 0.215716 sec
|V| 3774769 |E| 16518947
Launching OpenMP TC solver (32 threads) ...
runtime [omp_base] = 0.241254 sec
total_num_triangles = 7515023
Thank you
Compiling fsm
with cuda 12 gives following error with the code.
g++ -Wall -fopenmp -std=c++17 -march=native -O3 -I../../include -I./ -I./dfscode -c omp_base.cc
g++ -Wall -fopenmp -std=c++17 -march=native -O3 -I../../include -I./ -I./dfscode -c main.cc
g++ -Wall -fopenmp -std=c++17 -march=native -O3 -I../../include -I./ -I./dfscode -c ../common/VertexSet.cc
g++ -Wall -fopenmp -std=c++17 -march=native -O3 -I../../include -I./ -I./dfscode -c ../common/graph.cc
g++ -Wall -fopenmp -std=c++17 -march=native -O3 -I../../include -I./ -I./dfscode main.o VertexSet.o graph.o omp_base.o -o fsm_omp_base -lgomp
mv fsm_omp_base ../../bin/
nvcc -gencode arch=compute_70,code=sm_70 -Xptxas -v -DUSE_GPU -O3 -w -DEDGE_PAR -I../../include -I./ -I./dfscode -c gpu_base.cu
/usr/local/cuda-12.2//bin/../targets/x86_64-linux/include/cub/agent/agent_batch_memcpy.cuh(886): error: expected an identifier
constexpr uint32_t (256 / 32) = BLOCK_THREADS / (1 << (5));
^
1 error detected in the compilation of "gpu_base.cu".
make: *** [../common.mk:123: gpu_base.o] Error 2
Error seems to be due to marco WARPS_PER_BLOCK
(defined in common.h:59) which is also used as variable in name in agent_batch_memcpy.cuh:864
When I want to run FSM code on dataset mico, a segment fault occured. I think it may be caused by the incorrect usage of graph construction method in src/fsm/main.cc:21
. However, when I fix that error by adding an argument to the call(changed to Graph g(argv[1], 0, 1, 1);
) , it gives me a error 700: Cuda error in file 'gpu_base.cu' in line 493 : an illegal memory access was encountered.
The command that I used:
./bin/fsm_gpu_base ./inputs/mico/graph 2 300
Could you please help me to fix that error?
Hello, there may be a lack of gpu_base.cu
in src/fsm
to build fsm_gpu_base
as the readme did. Hope to solve the omission problem. Thank you.
In file fsm/gpu_base.cu
, under the original setting of the MAX_NUM_PATTERNS
, which means it equals to 8,000
, the program gives an error code=700(cudaErrorIllegalAddress) "cudaDeviceSynchronize()"
, but if scaling it up to 13,000
or larger, the program runs successfully. So I have a question about how to set
the value of this variable correctly, and if I don't do so, I have trouble debugging to get the program to run properly. Look forward for your help and thank you very much !
After running make
in /src/pangolin/fsm, encounter an error when running ./bin/pangolin/./fsm_base ./inputs/citeseer/graph 3 100
as the tips.
The running details are as follows:
max_size = 3
min_support = 100
Number of unique labels: 6
|V| 3312 |E| 9072
Found 1 devices
Device[0]: NVIDIA GeForce GTX 1080 Ti
Compute capability: 6.1
Warp size: 32
Total # SM: 28
Total # CUDA cores: 3584
Total amount of shared memory per block: 49152 bytes
Total # registers per block: 65536
Total amount of constant memory: 65536 bytes
Total global memory: 10.9 GB
Memory Clock Rate: 5.25 GHz
Memory Bus Width: 352 bits
Peak Memory Bandwidth: 484.44 GB/s
error 1: Cuda error in file '../../../include/pangolin_gpu/../graph_gpu.h' in line 108 : invalid argument.
which corresponds to CUDA_SAFE_CALL(cudaMemcpy(d_labels_frequency, hg.get_label_freq_ptr(), (num_vertex_classes+1) * sizeof(vidType), cudaMemcpyHostToDevice));
after reading the source code, I found that the use of hg.get_label_freq_ptr()
after labels_frequency_.clear();
may be the cause of the problem. But I have no idea how to modify it to make the program run properly.
Could you help me to solve this problem?
Best regards.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.