Commit Graph
69 Commits
Author SHA1 Message Date
T.D. (Tongdong) Qiu 5971a7ae9e Split WellContributions into .cpp and .cu 2020-07-10 11:13:55 +02:00
T.D. (Tongdong) Qiu af02fc3924 Added try-catch around the linear solve 2020-07-07 16:07:42 +02:00
T.D. (Tongdong) Qiu 0b20762e59 Clarified parameter help print and chosen OpenCL platform and device 2020-07-07 14:26:02 +02:00
T.D. (Tongdong) Qiu ab49f60eca Added opencl.hpp to define variables and import opencl
Added opencl.cpp to get OpenCL error strings
2020-07-07 13:46:47 +02:00
T.D. (Tongdong) Qiu 91591abd56 Removed removed file from cmake install list 2020-07-07 11:42:00 +02:00
T.D. (Tongdong) Qiu 478e2ee971 Improved rowsPerColor usage 2020-07-07 11:00:38 +02:00
T.D. (Tongdong) Qiu 5aa8dda487 Changed default parallel strategy to GRAPH_COLORING 2020-07-06 13:56:27 +02:00
T.D. (Tongdong) Qiu 4c037b0998 Removed unused test kernels 2020-07-06 13:56:27 +02:00
T.D. (Tongdong) Qiu a164a57220 Added memory management to BlockedMatrix 2020-07-06 13:55:50 +02:00
T.D. (Tongdong) Qiu 779a713330 Simplified BdaSolverStatus 2020-07-06 13:40:44 +02:00
T.D. (Tongdong) Qiu 833ea8ae72 Added templated blockinversion for C-style arrays 2020-07-06 13:40:44 +02:00
T.D. (Tongdong) Qiu bb622449b6 Changed platformID and deviceID to commandline parameter. Make sure Flow exits cleanly upon invalid platform- or deviceID. 2020-07-06 13:38:57 +02:00
T.D. (Tongdong) Qiu 7f8faa018b Replaced timing function with Dune::Timer 2020-07-06 11:22:11 +02:00
T.D. (Tongdong) Qiu 845563c37b Replaced hardcoded constant with template 2020-07-06 11:20:43 +02:00
T.D. (Tongdong) Qiu 8913e1d057 Make sure OpenCL can be used without CUDA 2020-06-25 18:44:49 +02:00
T.D. (Tongdong) Qiu b7f47c9787 Clarified preprocessor macros 2020-06-25 15:01:23 +02:00
T.D. (Tongdong) Qiu c76630687d Removed config.h in header files 2020-06-25 14:49:41 +02:00
T.D. (Tongdong) Qiu 0471da3815 Rewritten Graph Coloring 2020-06-25 14:42:35 +02:00
T.D. (Tongdong) Qiu ca83a8f53c Removed unused headers 2020-06-25 13:12:12 +02:00
T.D. (Tongdong) Qiu 4ad234bf55 Changed some ints to unsigned 2020-06-25 12:29:20 +02:00
T.D. (Tongdong) Qiu b692b66d3a Added block_size templates to BlockedMatrix and Reorder functions 2020-06-25 11:51:41 +02:00
T.D. (Tongdong) Qiu 8f9fa15ecd Fixed warnings, mostly shadowed parameters 2020-06-25 09:40:20 +02:00
T.D. (Tongdong) Qiu 98ddf47b44 Added block_size template to BdaSolvers and BILU0 2020-06-25 09:39:55 +02:00
T.D. (Tongdong) Qiu 2a48f5f63f Simplified usage of BdaSolver::second() for timing 2020-06-24 19:48:50 +02:00
T.D. (Tongdong) Qiu 3dc368b0b4 Added block_size templates to the BdaBridge. Removed unused gpu_mode variable 2020-06-24 16:46:04 +02:00
T.D. (Tongdong) Qiu 26133c4fd7 Fixed type of gpu_mode when HAVE_CUDA is false 2020-06-24 15:55:03 +02:00
T.D. (Tongdong) Qiu e4417fdc01 Set default value for use_gpu, using Dune would segfault because of the unitialized value 2020-06-23 18:20:10 +02:00
T.D. (Tongdong) Qiu b9e4bd3a95 Updated HAVE_XX guards. Replaced string == compare with .compare() 2020-06-23 18:19:33 +02:00
T.D. (Tongdong) Qiu 39df7c9381 Updated comments, fixed shadowed declaration warnings 2020-06-23 11:30:15 +02:00
T.D. (Tongdong) Qiu f974a5f6db Added openclSolver
Usage: --gpu-mode=[cusparse|opencl|none] on command line
2020-06-22 18:26:49 +02:00
T.D. (Tongdong) Qiu 98a8dac155 Passing std::vectors to pass data for C and B faster. Variables for D are initialized in initializer list. 2020-05-21 11:41:15 +02:00
T.D. (Tongdong) Qiu f04a629546 Updated comments 2020-05-20 15:13:58 +02:00
T.D. (Tongdong) Qiu f6036ffa8e Now WellContributions copies vectors for MultisegmentWells to reduce number of copies 2020-05-18 18:48:58 +02:00
T.D. (Tongdong) Qiu 0f273ebdf6 Removed unused variables. Changed initializerlist order for readability. 2020-05-18 16:10:19 +02:00
T.D. (Tongdong) Qiu dcbba53510 Updated comment 2020-05-15 17:55:06 +02:00
T.D. (Tongdong) Qiu 04ee2be348 cusparseSolver can now handle MultisegmentWells, they are actually applied on CPU via SuiteSparse/UMFPACK 2020-05-15 16:40:34 +02:00
T.D. (Tongdong) Qiu ab2d9a8c76 Changed int idx to indicate which matrix is added to WellContributions to an enum 2020-03-20 10:04:58 +01:00
T.D. (Tongdong) Qiu 75268f1166 Changed ISTLSolverEbos-BdaBridge usage. BdaBridge->solve_system() is not called when GPU is not selected or disabled 2020-03-19 16:08:29 +01:00
T.D. (Tongdong) Qiu 7f3f03f63d Added check to prevent segfaults for unsupported welltypes 2020-03-19 16:06:49 +01:00
T.D. (Tongdong) Qiu 947f419ef8 Fixed memory issues when cusparseSolver is disabled by unsupported blocksize 2020-03-19 14:09:42 +01:00
T.D. (Tongdong) Qiu 04fe46a9da Only accept CUDA 9.0 for the WellContributions kernel. Also removed unused variables 2020-03-19 11:46:57 +01:00
T.D. (Tongdong) Qiu 8223cd1db8 Simplified filling of WellContributions object. Added comments 2020-03-19 11:15:49 +01:00
T.D. (Tongdong) Qiu fdcf46792a BdaBridge and WellContributions are only included and compiled when CUDA is found 2020-03-18 19:03:14 +01:00
T.D. (Tongdong) Qiu d29b6a6e5e Removed unnecessary line continuation chars. Merged unsupported cases in switch 2020-03-18 15:14:38 +01:00
T.D. (Tongdong) Qiu 009b5076a4 Removed CPU implementation of WellContributions 2020-03-18 15:08:48 +01:00
T.D. (Tongdong) Qiu ce73337769 Disable GPU when using MPI 2020-03-18 13:53:40 +01:00
T.D. (Tongdong) Qiu d067c08be7 Added header to CMake_files, updated copyright year 2020-03-16 12:57:35 +01:00
T.D. (Tongdong) Qiu 581cbc6a3e cusparseSolver can now apply wellcontributions separately, so --matrix-add-wellcontributions=true is not required anymore 2020-03-13 14:21:59 +01:00
T.D. (Tongdong) Qiu 5ee7f26313 Fixed incorrect extension for header 2019-12-19 09:13:19 +01:00
T.D. (Tongdong) Qiu e28fb78f26 Fixed incorrect path for headers 2019-12-19 09:11:57 +01:00
T.D. (Tongdong) Qiu 103cc9b83a Added return explanation in comments 2019-12-18 17:09:33 +01:00
T.D. (Tongdong) Qiu 57344fd5e0 Added doxygen-style comments 2019-12-18 17:05:33 +01:00
T.D. (Tongdong) Qiu 6506ab5f55 Added some const qualifiers and comments 2019-12-18 16:37:29 +01:00
T.D. (Tongdong) Qiu a491e64883 Added some whitespace around brackets in accordance with OPM suggested coding standard 2019-12-18 15:54:14 +01:00
T.D. (Tongdong) Qiu 950d1c92c1 Replaced tabs with 4 spaces 2019-12-18 15:50:09 +01:00
T.D. (Tongdong) Qiu b543947e66 Addressed some comments of PR#2209 2019-12-18 15:47:35 +01:00
T.D. (Tongdong) Qiu 8e7eddb3ea Reduced number of library includes 2019-12-16 12:38:32 +01:00
T.D. (Tongdong) Qiu 293bd5816f Replaced exit() with OPM_THROW. Replaced primitive pointer with unique_ptr. 2019-12-16 10:05:12 +01:00
T.D. (Tongdong) Qiu 13e524dba2 Only print warning that cusparseSolver did not converge if it was chosen with --use-gpu=true 2019-12-09 10:02:21 +01:00
T.D. (Tongdong) Qiu b355537e04 Replaced prints with OpmLog. BdaBridge disables GPU and continues with Dune if unsupported blocksize is used 2019-12-06 17:23:32 +01:00
T.D. (Tongdong) Qiu 8b92c5dca6 Removed extra copy of nnzs, now sends pointer to start of Dune::BCRSMatrix data to cusparseSolver. 2019-12-06 14:33:52 +01:00
T.D. (Tongdong) Qiu 48900df882 Fixed 'unused variable' warnings 2019-12-06 11:27:17 +01:00
T.D. (Tongdong) Qiu a4cb582cfb Moved warning prints from cusparseSolver to BdaBridge. Moved solving logic from BdaBridge to cusparseSolver. Added cusparseSolverStatus enum. 2019-12-06 11:05:41 +01:00
T.D. (Tongdong) Qiu b6e13bffd2 Added headers to PUBLIC_HEADER_FILES. Added warning print when cusparseSolver did not converge. Added more synchronization points in cusparseSolver. Pinning b and x vector as well. 2019-12-05 18:02:27 +01:00
T.D. (Tongdong) Qiu f19a3b09b1 Updated copyright notice 2019-12-05 14:24:37 +01:00
T.D. (Tongdong) Qiu cf48650a5e BdaBridge lets cusparseSolver copy the resulting x vector from the GPU directly into the BlockVector from ISTLSolverEbos, this only works if the underlying data from BlockVector is contiguous 2019-12-05 10:59:33 +01:00
T.D. (Tongdong) Qiu 5cb6ec510c Allow verbosity of cusparseSolver to be set via command line 2019-12-05 10:07:40 +01:00
T.D. (Tongdong) Qiu 69033ca7f2 Changed structure of cusparseSolver to fit into master branch 2019-12-04 16:59:58 +01:00
T.D. (Tongdong) Qiu 4db2e7ca4e Added cusparseSolver. Automatically compiled when CUDA is detected. Must be enabled at runtime by adding '--use-gpu=true' 2019-12-03 14:29:06 +01:00