Commit Graph
100 Commits
Author SHA1 Message Date
Tong Dong Qiu a8e568f4c5 Moved initializing CUDA device to constructor 2022-11-21 15:54:14 +01:00
Tong Dong Qiu 5620b08033 Fix segfaults rocalutionSolver 2022-11-18 14:19:10 +01:00
Tong Dong Qiu c7fec18a86 Simplify parameter 2022-11-18 13:22:41 +01:00
Tong Dong Qiu 21b23b7aa4 Combine multiple defines into one 2022-11-18 13:09:39 +01:00
Tong Dong Qiu b697460add Also test cusparseSolver with jacobi matrix 2022-11-18 13:09:33 +01:00
Tong Dong Qiu 65128d1616 Removed unused reordering functions, file, header inclusions 2022-11-17 09:38:23 +01:00
Tong Dong Qiu 35287a61ff Remove FPGASolver and references 2022-11-17 09:38:01 +01:00
Tong Dong Qiu b51a4a863e Fix reduction calculation 2022-11-09 10:27:10 +01:00
Tong Dong Qiu 1dd6af15dc Print via fmt 2022-11-08 13:05:57 +01:00
Tong Dong Qiu d3d9743b81 Simplify parameter 2022-11-08 10:03:15 +01:00
Tong Dong Qiu 627c7d50ac Removed outdated version checks 2022-11-08 10:03:15 +01:00
Tong Dong Qiu 8fbfd473ab Removed unnecessary stream clear 2022-11-08 10:03:15 +01:00
Tong Dong Qiu f91154c165 Autodetect if transposing is needed 2022-11-08 10:03:09 +01:00
Tong Dong Qiu 5dea01b9dc Remove unnecessary release() 2022-11-03 15:47:38 +01:00
Tong Dong Qiu 3055c0e921 Simplify CMake for rocalution 2022-11-03 15:47:38 +01:00
Tong Dong Qiu 5466fdd289 Add missing macro guards 2022-11-03 15:47:38 +01:00
Tong Dong Qiu 8ef4e23d16 Fix CMake variables 2022-11-03 15:47:38 +01:00
Tong Dong Qiu d20be40aea Fix test names 2022-11-03 15:47:38 +01:00
Tong Dong Qiu 7e2a6800de Add test for rocalutionSolver 2022-11-03 15:47:32 +01:00
Tong Dong Qiu ea73a1bf3c Add rocalutionSolver 2022-11-02 15:55:07 +01:00
Tong Dong Qiu b4e730a767 Removed default declaration in wrong place 2022-10-27 09:25:55 +02:00
Tong Dong Qiu d06b02f88f Add test with Jacobi matrix for openclSolver 2022-10-14 09:33:55 +02:00
Tong Dong Qiu 09e262bbfd Minor changes:
- removed unused header inclusion
- update comments
- removed unnecessary cast
2022-10-13 15:37:20 +02:00
Tong Dong Qiu 860c209bac Removed deleted header reference 2022-10-04 14:23:16 +02:00
Tong Dong Qiu 38f67ffa57 Bugfix: wrong size when copying matrix to GPU row-by-row 2022-09-29 11:02:04 +02:00
Tong Dong Qiu 5c4d1a3f65 Removed outdated functions 2022-09-27 15:59:51 +02:00
Tong Dong Qiu d30073a885 Bugfix: use full matrix for spmv
Remove references to reordering
2022-09-27 15:59:37 +02:00
Tong Dong Qiu 24f8f7c857 Use exact instead of approximate inverted diagonal blocks for ChowPatel 2022-09-27 15:54:27 +02:00
Tong Dong Qiu 42410d408f Removed GRAPH_COLORING opencl reordering option.
Simplified and renamed opencl_ilu_reorder parameter.
2022-09-27 15:54:19 +02:00
Tong Dong Qiu e327142088 Do not reorder the matrix for GPU 2022-09-27 15:51:23 +02:00
Tong Dong Qiu 2690917e93 Simple speedup for opencl level_scheduling 2022-09-27 15:51:23 +02:00
Tong Dong Qiu 18d9f8cca7 Include missing header 2022-08-10 14:03:32 +02:00
Tong Dong Qiu 58b20fe2fb Tweak ILU opencl kernel launch params 2022-08-09 13:39:35 +02:00
Tong Dong Qiu d0aa42e9e3 Reduce source code line lengths 2022-08-09 13:38:57 +02:00
Tong Dong Qiu 5607329b05 Backport to fix ChowPatelIlu 2022-08-09 11:49:47 +02:00
Tong Dong Qiu 85776f528a Tweak ILU opencl kernel launch params 2022-06-28 12:42:52 +02:00
Tong Dong Qiu 1f1fa10927 Fix stdwell apply on GPU 2022-06-24 13:48:59 +02:00
Tong Dong Qiu 842a9a9317 Reduce source code line lengths 2022-06-23 10:21:34 +02:00
Tong Dong Qiu c4ebed1718 Backport to fix ChowPatelIlu 2022-06-23 10:17:14 +02:00
Tong Dong Qiu 4384872f8e Only use timers when printing their results,
and actually wait for kernels to finish when timing GPU
2022-06-17 16:02:56 +02:00
Tong Dong Qiu 91a54645fb Fix: zeros were not replaced correctly in the diagonal
And minor changes
2022-06-08 10:00:22 +02:00
Tong Dong Qiu b00d31042c Check if memory for nnzs is contiguous 2022-05-04 16:15:57 +02:00
Tong Dong Qiu 2d270d5613 Update GPU tests 2022-05-04 14:51:32 +02:00
Tong Dong Qiu cb1ee68967 Fix ILU0 creation for NONE reordering 2022-04-21 17:19:02 +02:00
Tong Dong Qiu 50d7c0f61d Tweak verbosity for opencl 2022-04-21 17:19:01 +02:00
Tong Dong Qiu 68b604c85f Speed up reordering for opencl 2022-04-21 17:19:01 +02:00
Tong Dong Qiu fc298d8f9c Allow cusparseSolver to use jacMatrix 2022-04-21 17:19:01 +02:00
Tong Dong Qiu 4db112cafa Use row_wise mode to build jacMatrix 2022-04-21 17:19:01 +02:00
Tong Dong Qiu 1a1bc24bef Delay creating sparsity pattern for jacobi Matrix 2022-04-21 17:19:01 +02:00
Tong Dong Qiu bae2358090 Fix if clauses 2022-04-21 17:19:01 +02:00
Tong Dong Qiu 2683019280 Bugfix: set vector size for MSwells was removed during refactoring 2022-04-21 17:19:01 +02:00
Tong Dong Qiu 448af67ce6 Merge duplicate functions 2022-04-21 17:19:01 +02:00
Tong Dong Qiu 6ca5f167b2 Allow BISAI to use jacMatrix 2022-04-21 17:19:01 +02:00
Tong Dong Qiu 6f89629f92 Fix wrong print, remove unused variables 2022-04-21 17:19:01 +02:00
Tong Dong Qiu 1cec56fa68 Use implicit mode to build jacMatrix
Fix print variable
2022-04-21 17:19:01 +02:00
Tong Dong Qiu 550ce92902 Faster copying to jacMatrix 2022-04-21 17:19:01 +02:00
Tong Dong Qiu 3797b7297d Merge some duplicate functions 2022-04-21 17:19:01 +02:00
Tong Dong Qiu d963820e48 Pass BlockedMatrix to BdaSolvers 2022-04-21 17:19:00 +02:00
Tong Dong Qiu 7f5322f7d4 Store a BlockedMatrix in BdaBridge 2022-04-21 17:19:00 +02:00
Tong Dong Qiu 9dec714590 Allow to use jacobi matrix for ILU with CPR
Fix whitespace
2022-04-21 17:19:00 +02:00
Tong Dong Qiu 61f693dbaf reenable normal opencl
Rebased
2022-04-21 17:18:54 +02:00
Tong Dong Qiu dee5e16fb8 subdomain matrix for opencl
Rebased
2022-04-21 17:18:40 +02:00
Tong Dong Qiu e360c00b73 add block-jacobi partitioner option. Add block-jacobi matrix for use in OpenCL preconditioner
Rebased
2022-04-21 17:18:32 +02:00
Tong Dong Qiu aa362ae239 Fix GPU tests, use Dune as reference instead of hardcoded 2022-04-21 10:51:38 +02:00
Tong Dong Qiu c1cbf7a00f Fix ChowPatelIlu compilation errors,
introduced in recent PR
2022-02-03 10:42:27 +01:00
Tong Dong Qiu 6c8ada4cd2 Reduced header inclusion and updated comments 2022-02-03 10:42:22 +01:00
Tong Dong Qiu 275bfe2da4 Move cuda files to separate folder 2022-02-02 09:28:41 +01:00
Tong Dong Qiu e81ca0526e Move opencl files to separate folder 2022-02-01 16:51:32 +01:00
Tong Dong Qiu a514947b5a Include boost version 2022-02-01 15:56:36 +01:00
Tong Dong Qiu f48fe632cb Added comment to apply_stdwell kernels 2021-12-22 16:22:55 +01:00
Tong Dong Qiu 3decb73561 Fix stdwell_apply opencl kernel 2021-12-22 16:16:04 +01:00
Tong Dong Qiu aa5f36b835 Only include test if opencl is found 2021-12-09 08:39:43 +01:00
Tong Dong Qiu a5ed003418 Update GPU solver and solve_transposed_3x3() tests 2021-12-06 11:57:24 +01:00
Tong Dong Qiu 374f8276dc Move opencl variables to Preconditioner 2021-12-01 14:15:59 +01:00
Tong Dong Qiu 94ea2dcd30 Change C to C++
Also bugfix wrong size when COPY_ROW_BY_ROW is active
2021-12-01 14:15:16 +01:00
Tong Dong Qiu e0a4d271ea Formatting changes 2021-12-01 11:47:45 +01:00
Tong Dong Qiu 0881089406 Add Preconditioner, superclass of BILU0 and CPR 2021-12-01 11:47:45 +01:00
Tong Dong Qiu 50d0486b28 Allow a variable number of pre/post smooth steps during AMG 2021-12-01 11:47:44 +01:00
Tong Dong Qiu d58aa58791 Add more testcases for solve_transposed_3x3() 2021-12-01 11:47:44 +01:00
Tong Dong Qiu a911d5d2be Add test for solve_transposed_3x3() 2021-12-01 11:47:44 +01:00
Tong Dong Qiu 56fb3948e5 Fill restriction matrix faster 2021-12-01 11:47:44 +01:00
Tong Dong Qiu 411d3c6a8d Replace spmv-prolongation by specialized kernel 2021-12-01 11:47:44 +01:00
Tong Dong Qiu eaded9dcf7 Add prolongate_vector() kernel 2021-12-01 11:47:44 +01:00
Tong Dong Qiu 9d611f04ee Add timers to opencl CPR preconditioner 2021-12-01 11:47:44 +01:00
Tong Dong Qiu f2225503c4 Combine BILU0 and CPR preconditioner 2021-12-01 11:47:44 +01:00
Tong Dong Qiu 11d54f31f5 Reuse umfpack object 2021-12-01 11:47:29 +01:00
Tong Dong Qiu b9a12b64d9 Rename copy sparsity pattern function 2021-12-01 11:43:40 +01:00
Tong Dong Qiu d7204c5be7 Create separate functions 2021-12-01 11:43:39 +01:00
Tong Dong Qiu 13646337f3 Reduce get_absmax() code 2021-12-01 11:43:39 +01:00
Tong Dong Qiu 5e85c23478 Renamed move_to_coarse/fine() in CPR 2021-12-01 11:43:39 +01:00
Tong Dong Qiu 19a0454b6f Update comments 2021-12-01 11:43:39 +01:00
Tong Dong Qiu ca44351c72 Add error checks for OpenclMatrix 2021-12-01 11:43:39 +01:00
Tong Dong Qiu de8073e689 Reuse Matrix constructor 2021-12-01 11:43:39 +01:00
Tong Dong Qiu a71a5cd8fe Moved OpenclMatrix to new file 2021-12-01 11:43:39 +01:00
Tong Dong Qiu a8b1d7c9dc Change header include guard name 2021-12-01 11:43:39 +01:00
Tong Dong Qiu 1306a65104 Remove unnecessary intermediate variables 2021-12-01 11:43:39 +01:00
Tong Dong Qiu 5385bd275e Rename get_opencl_kernel functions 2021-12-01 11:43:39 +01:00
Tong Dong Qiu adb4649277 Changed block_size template to parameter for block functions 2021-12-01 11:43:39 +01:00
Tong Dong Qiu 288e548b89 Changed block_size template to variable for OpenclMatrix 2021-12-01 11:43:39 +01:00
Tong Dong Qiu 9acffab47e Changed block_size template to variable for BlockedMatrix 2021-12-01 11:43:39 +01:00