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
jpekkila
74cbcf390e
Removed deprecated unused files
2020-01-14 21:56:00 +02:00