diff options
author | Tom Rondeau <trondeau@vt.edu> | 2013-07-15 15:15:41 -0400 |
---|---|---|
committer | Tom Rondeau <tom@trondeau.com> | 2013-07-17 18:04:15 -0400 |
commit | 2a0b62dd7d73ad595d60fe2d2ede96befe9c65e6 (patch) | |
tree | bad9364f4ac617d35e6669aacc4e0153c81fe722 /gr-blocks/python | |
parent | b2cfe7d00a5c89670d16fd491af51ea3d8a2373e (diff) |
runtime: added support for setting thread affinity to all blocks under a hier_block2.
grc: added field to all blocks to set the thread affinity to a list of processors.
docs: updated docs on thread affinity for new features.
Conflicts:
grc/base/Block.py
grc/python/flow_graph.tmpl
Diffstat (limited to 'gr-blocks/python')
-rwxr-xr-x | gr-blocks/python/blocks/qa_hier_block2.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gr-blocks/python/blocks/qa_hier_block2.py b/gr-blocks/python/blocks/qa_hier_block2.py index 51f420e8eb..5a351f2b37 100755 --- a/gr-blocks/python/blocks/qa_hier_block2.py +++ b/gr-blocks/python/blocks/qa_hier_block2.py @@ -393,5 +393,38 @@ class test_hier_block2(gr_unittest.TestCase): self.assertEquals(dst.data(), (3.0,)) + def test_033a_set_affinity(self): + expected = (1.0, 2.0, 3.0, 4.0) + hblock = gr.top_block("test_block") + src = blocks.vector_source_f(expected, False) + snk = blocks.vector_sink_f() + hblock.connect(src, snk) + hblock.set_processor_affinity([0,]) + hblock.run() + actual = snk.data() + self.assertEquals(expected, actual) + + def test_033b_unset_affinity(self): + expected = (1.0, 2.0, 3.0, 4.0) + hblock = gr.top_block("test_block") + src = blocks.vector_source_f(expected, False) + snk = blocks.vector_sink_f() + hblock.connect(src, snk) + hblock.set_processor_affinity([0,]) + hblock.unset_processor_affinity() + hblock.run() + actual = snk.data() + self.assertEquals(expected, actual) + + def test_033c_get_affinity(self): + expected = (1.0, 2.0, 3.0, 4.0) + hblock = gr.top_block("test_block") + src = blocks.vector_source_f(expected, False) + snk = blocks.vector_sink_f() + hblock.connect(src, snk) + hblock.set_processor_affinity([0,]) + procs = hblock.processor_affinity() + self.assertEquals((0,), procs) + if __name__ == "__main__": gr_unittest.run(test_hier_block2, "test_hier_block2.xml") |