Commit Graph

718 Commits

Author SHA1 Message Date
jpekkila e27be3bdc8 CMakeLists.txt edited online with Bitbucket 2020-01-24 05:15:49 +00:00
jpekkila f8cd571323 Now CMake and compilation flags are functionally equivalent with the current master branch, not taking into account the deprecated flags. Also various small improvements to building.
Deprecated flags:
        * BUILD_DEBUG. This was redundant since CMake also has such flag. The build type can now be switched by passing -DCMAKE_BUILD_TYPE=<Release|Debug|RelWithDebugInfo|...> to cmake. See CMake documentation on CMAKE_BUILD_TYPE on all av
        * BUILD_UTILS. The utility library is now always built along the core library. We can reintroduce this flag if needed when the library grows larger. Currently MPI functions depend on Utils and without the flag we don't have to worr
        * BUILD_RT_VISUALIZATION. RT visualization has been dormant for a while and I'm not even sure if it works any more. Eventually the RT library should be generalized and moved to Utils at some point. Disabled the build flag for the t
2020-01-24 07:00:49 +02:00
jpekkila c7c2a3eea4 Simplified/rewrote the root CMakeLists.txt s.t. compilation bugs are easier to pinpoint. WIP, not all functionality is yet enabled (primarily compilation options like MPI_ENABLED and others) 2020-01-23 20:07:59 +02:00
jpekkila a5b5e418d4 Moved all headers used throughout the library to src/common 2020-01-23 20:06:47 +02:00
jpekkila 78fbcc090d Reordered src/core to have better division to host and device code (this is more likely to work when compiling with mpicxx). Disabled separate compilation of CUDA kernels as this complicates compilation and is a source of many cmake/cuda bugs. As a downside, GPU code takes longer to compile. 2020-01-23 20:06:20 +02:00
jpekkila 96389e9da6 Modified standalone includes to function with new astaroth headers 2020-01-23 20:03:25 +02:00
jpekkila 3adb0242a4 src/utils is now a real library. Includable with the astaroth_utils.h header and linkable with libastaroth_utils.a. The purpose of Astaroth Utils is to function as a generic utility library in contrast to Astaroth Standalone which is essentially hardcoded only for MHD. 2020-01-23 20:02:38 +02:00
jpekkila fdd829b888 Cleaned up samples and removed old unused stuff. Simplified CMake files. 2020-01-23 20:00:19 +02:00
jpekkila 7215e842fc Simplified the include directory. Everything is now in only two headers: astaroth.h and astaroth_utils.h. Removed old and unused stuff. user.h is unused in standalone but might be used with Pencil Code, so left that intact. 2020-01-23 19:59:44 +02:00
jpekkila ba899211ff Better code quality for ACC 2020-01-23 18:08:06 +02:00
jpekkila 5de163e8d1 Added commented out pragma unrolls to remind how packing could be improved. Though at the moment unrolls actually make the performance much worse, reasons unknown. 2020-01-22 19:27:45 +02:00
jpekkila 41f8e9aebb Removed an old inefficient function for MPI comm 2020-01-22 19:26:33 +02:00
jpekkila caacf2b33c Removed --restrict flag from CUDA compilation for safety 2020-01-22 19:25:26 +02:00
jpekkila 868bf3ed5e Merge branch 'master' of https://bitbucket.org/jpekkila/astaroth 2020-01-22 15:21:10 +02:00
jpekkila ba8960cd08 Formatting fixes to documentation 2020-01-20 19:28:00 +02:00
jpekkila 354cf81777 MPI_Request was saved to address pointing to local memory, fixed 2020-01-20 19:15:20 +02:00
jpekkila 54d91e7eeb Removed debug synchronization from packing.cu 2020-01-20 18:58:06 +02:00
jpekkila 993bfc4533 Better concurrency and some simplifications (MPI). 2020-01-20 18:45:24 +02:00
jpekkila 765ce9a573 Some concurrency optimizations for 3D blocking 2020-01-20 17:08:23 +02:00
jpekkila 6d4f696e60 Initial implementation for parallel compute + communication 2020-01-20 16:21:19 +02:00
jpekkila 3625e9db5f Added timing to acDeviceRunMPITest() 2020-01-20 14:54:26 +02:00
jpekkila af51534d35 Skipping also src/core/kernels/deprecated when generating docs 2020-01-18 15:29:46 +02:00
jpekkila bbdbea964e Renamed the old WIP manual from .md to .txt s.t. it's not scanned when generating doxygen documentation 2020-01-18 15:27:59 +02:00
jpekkila e8c594769f Excluded directories that are not core parts of the library when generating doxygen documentation 2020-01-18 15:26:18 +02:00
jpekkila 462123e220 Added link to the repository (README.md) 2020-01-18 15:20:18 +02:00
jpekkila d034cadfac Updated copyright years 2020-01-17 15:34:10 +02:00
jpekkila 19ccc751af Merge branch 'master' into 3d-decomposition-2020-01 2020-01-17 15:27:40 +02:00
jpekkila 88a4a1718d More cleanup 2020-01-17 15:27:02 +02:00
jpekkila ff6a7155e5 Added a simplified and cleaned up 3D decomp MPI implementation. Tested to work at least up to 2x2x2 nodes. 2020-01-17 15:22:23 +02:00
jpekkila 975a15f7f4 Removed all MPI-related code in preparation of a rewrite of the MPI stuff 2020-01-17 14:22:11 +02:00
jpekkila 9264b7515a Working 3D decomp, unoptimized 2020-01-16 21:47:05 +02:00
jpekkila 29b38d3b89 MPI distribute and gather were incorrect, fixed. Now tested to work with 1,2, and 4 GPUs. 2020-01-16 19:12:32 +02:00
jpekkila d7f56eeb67 Boundary conditions for 3D decomposition with MPI now working on a single node. 2020-01-16 16:34:33 +02:00
jpekkila 50bf8b7148 MPI communication of corners via CPU OK 2020-01-16 15:17:57 +02:00
jpekkila f77ab8a809 Removed unnecessary README and incorrect building instructions for mpitest 2020-01-16 14:49:07 +02:00
jpekkila e4c9c16809 Clarified licencing 2020-01-16 14:28:58 +02:00
jpekkila 29d40326b0 Clarified licencing 2020-01-16 14:24:41 +02:00
jpekkila c76c2afd5e Merge branch 'master' into 3d-decomposition-2020-01 2020-01-16 13:21:59 +02:00
jpekkila bb70c660bb bitbucket-pipelines.yml edited online with Bitbucket 2020-01-15 15:20:12 +00:00
jpekkila 5d412dd671 bitbucket-pipelines.yml: better to build without real-time visualization, since that depends on SDL2 building correctly which is not in our hands. 2020-01-15 15:17:21 +00:00
jpekkila e3f645d496 bitbucket-pipelines.yml edited online with Bitbucket. Now builds all modules with single and double precision. 2020-01-15 15:12:11 +00:00
jpekkila 8f646e700e Updated README.md with the new BUILD_SAMPLES option 2020-01-15 17:02:47 +02:00
jpekkila 7a099a008e Removed build flags for old samples, replaced with BUILD_SAMPLES 2020-01-15 16:56:58 +02:00
jpekkila 65d9274eaa Updated samples to have consistent naming 2020-01-15 16:56:02 +02:00
jpekkila efa95147f3 Renamed exampleproject -> cpptest 2020-01-15 16:25:27 +02:00
jpekkila 23efcb413f Introduced a sample directory and moved all non-library-components from src to there 2020-01-15 16:24:38 +02:00
jpekkila a937546ffb Added a new CMake option: BUILD_SAMPLES. 2020-01-15 16:19:39 +02:00
Miikka Vaisala 604005ed37 Now compiles after compile_acc_module.sh moved to other place. 2020-01-15 13:58:19 +08:00
jpekkila c3727e2183 Autoformatting 2020-01-14 22:13:53 +02:00
jpekkila 20ab7b7c36 Readded scripts/fix_style.sh. It seems to have disappeared at some point, have no idea. Use with care. 2020-01-14 22:09:43 +02:00