Commit Graph
100 Commits
Author SHA1 Message Date
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 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
Tong Dong Qiu a6b6a62b27 Changes needed for FPGA 2021-12-01 11:43:39 +01:00
Tong Dong Qiu 606143ef57 Add timer for cpr_apply 2021-12-01 11:43:39 +01:00
Tong Dong Qiu 6465cf9cbb Add CPR preconditioner for openclSolver and
change raw pointers to vector for Matrix
2021-12-01 11:43:30 +01:00
Tong Dong Qiu 803a2ac2f4 Allow CMake to set CHOW_PATEL variables 2021-11-04 15:47:33 +01:00
Tong Dong Qiu 920eeee426 Rename namespace bda to Opm::Accelerator 2021-11-04 15:47:33 +01:00
Tong Dong Qiu b945502a82 Minor improvements 2021-11-04 15:45:33 +01:00
Tong Dong Qiu 78b1714481 Move apply_stdwells kernels to OpenclKernels 2021-11-04 14:25:39 +01:00
Tong Dong Qiu 1583292bf4 Move opencl kernels to static class 2021-11-04 14:25:22 +01:00
Tong Dong Qiu b8587daaa7 Move ChowPatel decomposition to appropriate file 2021-11-04 13:58:06 +01:00
Tong Dong Qiu 68adf85f52 Create and use scale kernel for relaxation of ILU 2021-10-05 10:49:21 +02:00
Tong Dong Qiu 796d1b7f8a Allow to choose a platform and device when using amgcl with VexCL 2021-07-09 17:03:11 +02:00
Tong Dong Qiu 0ee6b58fb0 Only initialize VexCL once 2021-07-09 15:39:35 +02:00
Tong Dong Qiu b0749ce7d4 Use default parameters if json file does not specify all.
Throw exception if json file cannot be parsed.
2021-07-09 14:07:55 +02:00
Tong Dong Qiu aa63da2bd3 Update GPU tests 2021-07-07 17:03:48 +02:00
Tong Dong Qiu f77d745b51 Factor out CUDA part of amgclSolver 2021-07-07 16:24:52 +02:00
Tong Dong Qiu b2156a4edc Remove unused variable warnings 2021-07-07 16:24:52 +02:00
Tong Dong Qiu b28c96699b Combine blocked and unblocked VexCL implementations 2021-07-07 16:24:52 +02:00
Tong Dong Qiu 5306ae6a60 Allow VexCL to use unblocked matrices 2021-07-07 16:24:52 +02:00
Tong Dong Qiu 47ffeaf24a Allow VexCL to use runtime parameters 2021-07-07 16:24:52 +02:00