- 19 Feb, 2015 3 commits
-
-
Kenneth Moreland authored
I had meant to add it earlier, but I did it wrong.
-
Kenneth Moreland authored
-
Kenneth Moreland authored
The radix-kr is essentially the radix-k algorithm with some ideas from 2-3 swap added in. Rather than forcing all the k's in radix-k to be factors, radix-kr allows the k to have a remainder when splitting the process. The remaining processes participate in that round by splitting their image and sending them off, but they receive nothing that round and then go idle. Although this adds some imbalance, it does not add much. It also makes keeping track of partitions easier than 2-3 swap.
-
- 18 Feb, 2015 1 commit
-
-
Kenneth Moreland authored
-
- 17 Feb, 2015 3 commits
-
-
Kenneth Moreland authored
Previously, if a state buffer was needed and the existing one did not match the size and type exactly, the old buffer was freed and a new buffer was malloced. However, malloc can be slow and it is possible to reuse a buffer if the new one being asked for is smaller than the old one. Thus, change the semantics to use a previously allocated buffer if it is at least as big as needed. This might leave pools of data larger than what we need, but will reduce the overall number of malloc calls needed.
-
Kenneth Moreland authored
-
Kenneth Moreland authored
I'm sure this is from a mistaken keypress while navigating the file a while ago.
-
- 10 Feb, 2015 9 commits
-
-
Kenneth Moreland authored
-
Kenneth Moreland authored
-
Kenneth Moreland authored
-
Kenneth Moreland authored
-
Kenneth Moreland authored
Instead of detecting the platform and guessing the right file delete function, use the cmake -E command to do the delete in a cross-platform way.
-
Kenneth Moreland authored
Previously, if OpenGL was enabled all tests would create a render window even if it was never used because they were all crammed into the same executable that initalized with the OpenGL context. This is an artifact from early versions of IceT that always required OpenGL. Creating an OpenGL context shouldn't change the results of the test, but it was annoying to have a bunch of windows created for every test. This change separates out the OpenGl tests from those that don't use it so that most of the tests now just run in the background.
-
Kenneth Moreland authored
Some of the files in the tests directory used a dash to separate words (e.g. test-config.h and test-util.h) whereas others used an underscore (e.g. test_codes.h and mpi_comm.h). Renamed the files such that they all use underscores, which matches better the filenames used elsewhere.
-
Kenneth Moreland authored
-
Kenneth Moreland authored
The subset command of the communicator takes an array of ranks, but that array should not be changed. Declare that array const in all versions of the function. (This requires a const cast when calling the MPI version since that function does not take a const array even though it should.)
-
- 05 Feb, 2015 4 commits
-
-
Kenneth Moreland authored
-
Kenneth Moreland authored
At the end of each test each process reported whether it got an IceT or OpenGL error including if it is no error. That can be helpful in part to know that the process successfully completed, but for tests on very large processes it generated excessively large log files. Instead suppress the report if there is no error.
-
Kenneth Moreland authored
-
Kenneth Moreland authored
The usage of the -max-image-split-study of SimpleTiming states that it tries doubling the max split. For some reason I implemented it by multipling by the magic k value each time. Change it so it actually just doubles the max image split and does a more complete search.
-
- 04 Feb, 2015 2 commits
-
-
Kenneth Moreland authored
-
Kenneth Moreland authored
Previously, the root process would print the log at the end of SimpleTimingDoRender. The problem is that in the scaling studies the world communicator is partitioned so that there are multiple root processes running at once. I've been having trouble with log entries stomping over each other. This change holds all the timings in a buffer rather than print them. After scaling studies are complete, all log entries are collected to the world root and printed out there.
-
- 03 Feb, 2015 2 commits
-
-
Kenneth Moreland authored
-
Kenneth Moreland authored
Turns out the way I was recursively dividing partitions I was getting multiple partitions that were the same size. This change cuts out the repeated partition sizes letting processes go idle during the testing.
-
- 27 Jan, 2015 2 commits
-
-
Kenneth Moreland authored
-
Kenneth Moreland authored
The 2-3 factor scaling routine in SimpleTiming was not properly checking that the group size was large enough to handle the number of tiles used. This didn't cause any real problems but caused the test to report failure even though nothing really went wrong. Fixed that problem.
-
- 22 Jan, 2015 4 commits
-
-
Kenneth Moreland authored
-
Kenneth Moreland authored
The rendering in SimpleTiming is not realistic, so it does not make much sense to measure it. Instead, by default prerender the image and time only how long it takes IceT to composite the image.
-
Kenneth Moreland authored
-
Kenneth Moreland authored
In the RandomTransform test when rendering pre-rendered images, we were previously always rendering to the entire window size. However, when trying tiled displays, which break up the display, the actual global display can be a little smaller than that due to roundoff in the division. This change sets the viewport to be exactly the size of the global viewport.
-
- 21 Jan, 2015 3 commits
-
-
Kenneth Moreland authored
Modify the RandomTransform test to try a composite using a pre-rendered image in addition to using rendering callbacks (through the OpenGL layer). This should be better about catching bugs like the previously fixed one.
-
Kenneth Moreland authored
There was a bug in icetImageGetDepthConstVoid that caused IceT to use the wrong buffer when retrieving the depth, which resulted in completely incorrect depth values.
-
Kenneth Moreland authored
-
- 20 Jan, 2015 1 commit
-
-
Kenneth Moreland authored
Add to SimpleTiming another scaling study that introduces lots of intermediate job sizes that have factors of 3. This studies around algorithms that might be optimized for power of 2.
-
- 19 Jan, 2015 2 commits
-
-
Kenneth Moreland authored
SimpleTiming has an option to try all processor combinations that are powers of 2 up to the job size. Jobs of small size are run concurrently, which should speed the overall job time but will probably result in some communication contention.
-
Kenneth Moreland authored
For now, I'm just interested in adding the ability to do a scaling study in the testing harness, but it may be useful in the future to divide communicators and collect data.
-
- 05 Nov, 2014 2 commits
-
-
Kenneth Moreland authored
-
Kenneth Moreland authored
-
- 09 Oct, 2014 2 commits
-
-
Kenneth Moreland authored
-
Kenneth Moreland authored
-