Pascal Germroth
97158268c8
MPI join-copy doesn't resize the target container. #9
2013-08-06 02:29:40 +02:00
Pascal Germroth
4ca41e68ca
Use Range in openmp_range_algebra. #6
2013-08-06 02:29:40 +02:00
Pascal Germroth
b55ae85e11
Use Range in openmp_nested_algebra. #6
2013-08-06 02:29:40 +02:00
Pascal Germroth
2adbed5b77
Use range split adaptor in MPI split/join copyi_impl. #9
2013-08-06 02:29:40 +02:00
Pascal Germroth
2a2f94f0d2
Unit test for split adaptor
2013-08-06 02:29:40 +02:00
Pascal Germroth
cbd358845f
Split adaptor implementation for boost range.
2013-08-06 02:29:09 +02:00
Pascal Germroth
92c0a40f04
MPI resize/copy: different inner state types for both sides. #10
2013-08-06 02:25:58 +02:00
Pascal Germroth
875a13dfa4
Guard OpenMP against Clang.
...
(Or better rewrite the Jamfile to only build OpenMP targets for GCC & Intel toolsets?)
2013-08-06 02:24:52 +02:00
mariomulansky
b0a35c06eb
Use up to 64 threads for the benchmark.
2013-08-06 02:24:52 +02:00
mariomulansky
c9b1140b67
Enable binding threads to processors.
2013-08-06 02:24:52 +02:00
mariomulansky
54fd67d60f
Use boost::ref
2013-08-06 02:24:52 +02:00
mariomulansky
d209d7cf2f
Enable whole program optimisation for ICC
2013-08-06 02:24:26 +02:00
Pascal Germroth
4a6db9a52c
MPI osc_chain_1d benchmark #4
2013-07-21 04:50:52 +02:00
Pascal Germroth
1ffb155345
Unit tests for MPI state #9 , resize #11 and reduction #12
2013-07-21 04:45:59 +02:00
Pascal Germroth
7a709f7dc1
MPI state and algebra #9 #10
2013-07-21 04:45:59 +02:00
Pascal Germroth
744e108fc2
Show perfect speedup in OpenMP plot
2013-07-21 04:45:54 +02:00
Pascal Germroth
d76b77083d
Fix wrong index in OpenMP osc_chain_1d
2013-07-21 04:45:46 +02:00
Pascal Germroth
66e32e3e67
Reuse value from previous iteration in simple case too. #3
...
From <9792ca4f33/osc_chain_1d/openmp/system.hpp >.
Makes simple/split times comparable (change is minimal though).
2013-07-19 04:15:52 +02:00
Pascal Germroth
fd5a419d51
1D-chain performance test. #3
...
Based on <9792ca4f33/osc_chain_1d/openmp2 >
Use osc_chain_speedup.{sh,gnu} to compute and plot speedup.
"split" uses openmp_state/openmp_algebra;
"simple" uses vector/openmp_range_algebra
2013-07-19 02:33:58 +02:00
Pascal Germroth
daa54972d0
Update Lorenz ensemble sample to new OpenMP algebra
2013-07-19 02:26:35 +02:00
Pascal Germroth
de83cdcec9
Reorganize OpenMP algebra and state. #5 #6 #7
...
openmp_range_algebra: parallel for over a random access container.
openmp_nested_algebra: processs parts of a split container in parallel.
openmp_state: a split container based on vector<vector<>>.
openmp_algebra: use a range_algebra on each part of that container.
2013-07-19 02:23:12 +02:00
Pascal Germroth
53fa4494fd
Remove OpenMP system function wrapper.
...
Not very useful and doesn't cover all forms.
2013-07-19 02:22:31 +02:00
Pascal Germroth
758d5b4299
ICC has problems with these tests.
...
MPL errors (?!) and numerical errors (probably due to optimization)
2013-07-19 02:21:28 +02:00
Pascal Germroth
5f25fb50e6
Add all external test cases to Jamroot
2013-07-19 02:21:07 +02:00
Pascal Germroth
797847039c
Adjust gcc/clang warnings
2013-07-19 02:20:47 +02:00
Pascal Germroth
bd667cd2a8
Allow any kind of functor in openmp_wrapper #6
2013-07-07 22:53:00 +02:00
Pascal Germroth
fe64b0811a
OpenMP state #5 , algebra #6 and resizer #7
...
State splits a given Range into an InnerState, one for each thread. The algebra's for_eachN calls for_eachN in parallel on each part, using the InnerState's algebra. There's an openmp_wrapper to parallelize the system function; this needs a way to pass on the offset.
The idea was that this design should allow using OpenMP on each MPI node with a single-threaded inner_state: mpi_state< openmp_state< inner_state > > with mpi_wrapper(openmp_wrapper(system_function))
2013-06-18 20:07:09 +02:00
Pascal Germroth
2277080c9f
Trivial algebra for OpenMP #6
2013-06-15 23:34:26 +02:00
Pascal Germroth
d13e4388b3
Preprocessor macros to generate scale_sumN/for_eachN functors.
2013-06-15 23:32:29 +02:00
Pascal Germroth
ce30759861
Clang complains about unnecessary typenames
2013-06-15 23:32:29 +02:00
Pascal Germroth
cca844e5e7
Fix warnings
2013-06-15 23:32:29 +02:00
Pascal Germroth
f66e0440d7
More warnings
2013-06-15 23:32:29 +02:00
Mario Mulansky
1af6977c58
Merge pull request #86 from kylelutz/master
...
fix bug/typo in thrust_algebra
Thanks!
2013-05-29 19:46:05 -07:00
Kyle Lutz
31ab395e3b
fix bug/typo in thrust_algebra
2013-05-29 22:17:47 -04:00
mariomulansky
66e5d66d5f
some cleanup
2013-05-23 11:22:58 -05:00
mariomulansky
097ac25e03
even more elegant norm type deduction (recursive value_type analysis)
2013-05-23 11:07:56 -05:00
mariomulansky
24dd426585
further generalized norm type deduction, now also works for array_algebra
2013-05-23 10:15:43 -05:00
mariomulansky
a0a10ef38a
fixed some includes
2013-05-22 17:15:54 -05:00
mariomulansky
f968baf2f8
fixed explicit include path, some cosmetic changes to value type deduction
2013-05-22 16:43:11 -05:00
Karsten Ahnert
d72cae7330
generalize algebra dispatcher for floating point types, generalize norm_inf_result for complex value types
2013-05-22 21:50:47 +02:00
mariomulansky
8627df6fcb
Fixes #85 , including test cases
2013-05-22 10:13:37 -05:00
mariomulansky
c933cb1169
ommit unneccessary resizing in symplectic stepper
2013-04-26 14:12:35 -05:00
mariomulansky
c3ef77dff5
deleted now unused reduce functions in algebra
2013-04-24 16:17:49 -05:00
mariomulansky
5891ae0991
short update of thrust docs
2013-04-23 19:53:31 -05:00
Mario Mulansky
75b8f0a4a3
Merge pull request #83 from headmyshoulder/algebra_dispatcher
...
Algebra dispatcher
2013-04-23 17:41:19 -07:00
mariomulansky
b5799c4869
added float specialization
2013-04-23 19:37:47 -05:00
mariomulansky
57d7c16189
merging algebra_dispatcher
2013-04-23 19:37:30 -05:00
mariomulansky
c4f11cd517
+ ublas patch for matrix operator /
2013-04-23 18:50:01 -05:00
mariomulansky
9a27de253b
added thrust_operations_dispatcher.hpp
2013-04-23 18:41:57 -05:00
mariomulansky
0f5505f35e
fix in mtl4 algebra dispatcher for morton dense matrices
2013-04-23 18:39:05 -05:00