Commit Graph
78 Commits
Author SHA1 Message Date
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
Tong Dong Qiu b4eb711c71 Enable the VexCL backend, disabled for blocksize=1 2021-07-07 16:24:52 +02:00
Tong Dong Qiu a3d8d6655f Added enum for amgcl_backend_type 2021-07-07 16:24:52 +02:00
Tong Dong Qiu d45f9d08f7 Allow amgcl without CUDA 2021-07-07 16:24:52 +02:00
Tong Dong Qiu e556124405 Allow to choose amgcl backend at runtime, added default amgcl params 2021-07-07 16:24:52 +02:00
Tong Dong Qiu 282f611f92 Make sure amgcl can be used without CUDA 2021-07-07 16:24:52 +02:00
Tong Dong Qiu a08195a983 Use CMake config of amgcl itself 2021-07-07 16:24:52 +02:00
Tong Dong Qiu 3c1bfeb72f Let amgcl use runtime parameters via JSON file 2021-07-07 16:24:52 +02:00
Tong Dong Qiu a23d881817 Reuse amgcl parameters 2021-07-07 16:24:51 +02:00
Tong Dong Qiu 47e2899ba8 Moved amgcl declarations to header 2021-07-07 16:24:51 +02:00
Tong Dong Qiu 7c7911b9bc Allow to use amgcl when CUDA and OpenCL are not found 2021-07-07 16:24:51 +02:00
Tong Dong Qiu c2869810e2 Added amgclSolverBackend 2021-07-07 16:24:51 +02:00
Tong Dong Qiu 5918c64b54 Add useWellConn parameter to WellContributions() 2021-07-07 16:24:51 +02:00
Tong Dong Qiu 6291ba41b7 Added exception handling to cusparse test 2021-06-18 16:19:39 +02:00
Tong Dong Qiu f075c236c1 New error handling from Markus 2021-06-16 15:54:06 +02:00
Tong Dong Qiu 31eeb33039 Added error checking to tests 2021-06-08 16:07:38 +02:00
Tong Dong Qiu 393ab24154 Updated copyright notice 2021-06-07 11:40:03 +02:00
Tong Dong Qiu 74b46e4d8d Added tests for cusparseSolver and openclSolver 2021-06-07 11:40:03 +02:00
Tong Dong Qiu 0e63cda518 Instantiate whole class instead of each function 2021-06-07 11:40:03 +02:00
Tong Dong Qiu 5466b0f5f2 Always print CHOW_PATEL info if used 2021-04-09 16:19:45 +02:00
Tong Dong Qiu 8ea19c66aa Reduced code duplication in BdaBridge 2021-03-12 11:15:02 +01:00
Tong Dong Qiu 81c0a3d9f9 Simplified CPU fallback warnings 2021-03-12 11:15:02 +01:00
Tong Dong Qiu 87e3f1d72d Added timers to ChowPatelIlu 2021-03-03 17:12:46 +01:00
Tong Dong Qiu b87e9dad9a Updated comments 2021-03-03 16:36:27 +01:00
Tong Dong Qiu 0caae966b8 Add more waiting for opencl functions, using shortened opencl kernel params in WellContributions 2021-03-03 14:04:06 +01:00
Tong Dong Qiu 688d8ff627 Shorten opencl kernel params, add source file for openclKernels 2021-03-03 13:09:24 +01:00
Tong Dong Qiu 61bf85bf24 Add waiting for enqueueWriteBuffer 2021-03-03 10:37:01 +01:00
Tong Dong Qiu 18bf7c4b19 Replace diagfinding with std::find 2021-03-03 09:50:33 +01:00
Tong Dong Qiu 5b4deab7e4 Generating opencl kernels 2021-03-01 10:26:44 +01:00
Tong Dong Qiu 141af23db5 Exact ILU decomp is now performed on GPU 2021-03-01 10:26:35 +01:00
Tong Dong Qiu 748dc4ccb3 Reduced header inclusion, also moved WellContributions OpenCL initialization 2021-03-01 09:42:56 +01:00