diff options
author | David Sorber <david.sorber@blacklynx.tech> | 2021-05-12 08:59:21 -0400 |
---|---|---|
committer | mormj <34754695+mormj@users.noreply.github.com> | 2021-10-25 11:27:01 -0400 |
commit | 788827ae116bef871e144abd39b1e4482208eabe (patch) | |
tree | dcfee04a77db5bb3c8042be5b0b95c54bf8759c9 /gr-fec/python | |
parent | b8713810a2d07ac1a632bd7bfb23f3f48f67e222 (diff) |
runtime: Custom Buffer/Accelerator Device Support - Milestone 1
Custom Buffer/Accelerator Device Support - Milestone 1 changes:
* Refactored existing single mapped buffer code and created single
mapped buffer abstraction; wrapping within single mapped buffers
is handled explicitly by input blocked and output blocked
callbacks that are called from block_executor
* Added simple custom buffer allocation interface (NOTE: this
interface will change for milestone 2)
* Accelerated blocks are still responsible for data transfer but the
custom buffer interface eliminates the double copy problem
Signed-off-by: David Sorber <david.sorber@blacklynx.tech>
Diffstat (limited to 'gr-fec/python')
-rw-r--r-- | gr-fec/python/fec/_qa_helper.py | 4 | ||||
-rw-r--r-- | gr-fec/python/fec/extended_encoder.py | 4 | ||||
-rw-r--r-- | gr-fec/python/fec/qa_depuncture.py | 10 | ||||
-rw-r--r-- | gr-fec/python/fec/qa_fecapi_dummy.py | 33 | ||||
-rw-r--r-- | gr-fec/python/fec/qa_fecapi_repetition.py | 16 |
5 files changed, 33 insertions, 34 deletions
diff --git a/gr-fec/python/fec/_qa_helper.py b/gr-fec/python/fec/_qa_helper.py index 8a1b37ec95..00a6015684 100644 --- a/gr-fec/python/fec/_qa_helper.py +++ b/gr-fec/python/fec/_qa_helper.py @@ -46,8 +46,8 @@ class _qa_helper(gr.top_block): self.threading = threading self.ext_encoder = extended_encoder(enc, threading=self.threading, puncpat=self.puncpat) - self.ext_decoder= extended_decoder(dec, threading=self.threading, ann=None, - puncpat=self.puncpat, integration_period=10000) + self.ext_decoder = extended_decoder(dec, threading=self.threading, ann=None, + puncpat=self.puncpat, integration_period=10000) self.src = blocks.vector_source_b(data_size*[0, 1, 2, 3, 5, 7, 9, 13, 15, 25, 31, 45, 63, 95, 127], False) self.unpack = blocks.unpack_k_bits_bb(8) diff --git a/gr-fec/python/fec/extended_encoder.py b/gr-fec/python/fec/extended_encoder.py index 70422da01e..fbcbeb1be1 100644 --- a/gr-fec/python/fec/extended_encoder.py +++ b/gr-fec/python/fec/extended_encoder.py @@ -26,8 +26,8 @@ class extended_encoder(gr.hier_block2): self.blocks=[] self.puncpat=puncpat - if(type(encoder_obj_list) == list): - if(type(encoder_obj_list[0]) == list): + if (type(encoder_obj_list) == list): + if (type(encoder_obj_list[0]) == list): gr.log.info("fec.extended_encoder: Parallelism must be 1.") raise AttributeError else: diff --git a/gr-fec/python/fec/qa_depuncture.py b/gr-fec/python/fec/qa_depuncture.py index 0fdd795c0c..763a40f242 100644 --- a/gr-fec/python/fec/qa_depuncture.py +++ b/gr-fec/python/fec/qa_depuncture.py @@ -65,7 +65,7 @@ class test_depuncture (gr_unittest.TestCase): for i in range(len(dst_data)): dst_data[i] = int(dst_data[i]) - self.assertEqual(self.expected, dst_data) + self.assertSequenceEqualGR(self.expected, dst_data) def test_001(self): # Test normal operation of the depuncture block with a delay @@ -90,7 +90,7 @@ class test_depuncture (gr_unittest.TestCase): for i in range(len(dst_data)): dst_data[i] = int(dst_data[i]) - self.assertEqual(self.expected, dst_data) + self.assertSequenceEqualGR(self.expected, dst_data) def test_002(self): # Test scenario where we have defined a puncture pattern with @@ -116,7 +116,7 @@ class test_depuncture (gr_unittest.TestCase): for i in range(len(dst_data)): dst_data[i] = int(dst_data[i]) - self.assertEqual(self.expected, dst_data) + self.assertSequenceEqualGR(self.expected, dst_data) def test_003(self): # Test scenario where we have defined a puncture pattern with @@ -150,7 +150,7 @@ class test_depuncture (gr_unittest.TestCase): for i in range(len(dst_data1)): dst_data1[i] = int(dst_data1[i]) - self.assertEqual(dst_data1, dst_data0) + self.assertSequenceEqualGR(dst_data1, dst_data0) def test_004(self): # Test normal operation of the depuncture block without @@ -176,7 +176,7 @@ class test_depuncture (gr_unittest.TestCase): for i in range(len(dst_data)): dst_data[i] = int(dst_data[i]) - self.assertEqual(self.expected, dst_data) + self.assertSequenceEqualGR(self.expected, dst_data) if __name__ == '__main__': diff --git a/gr-fec/python/fec/qa_fecapi_dummy.py b/gr-fec/python/fec/qa_fecapi_dummy.py index f1de85e526..fa1abdf789 100644 --- a/gr-fec/python/fec/qa_fecapi_dummy.py +++ b/gr-fec/python/fec/qa_fecapi_dummy.py @@ -26,7 +26,7 @@ class test_fecapi_dummy(gr_unittest.TestCase): def tearDown(self): self.tb = None - + def test_parallelism0_00(self): frame_size = 30 enc = fec.dummy_encoder_make(frame_size * 8) @@ -39,7 +39,7 @@ class test_fecapi_dummy(gr_unittest.TestCase): data_in = self.test.snk_input.data() data_out = self.test.snk_output.data() - self.assertEqual(data_in, data_out) + self.assertSequenceEqualGR(data_in, data_out) def test_parallelism0_01(self): frame_size = 30 @@ -52,8 +52,8 @@ class test_fecapi_dummy(gr_unittest.TestCase): data_in = self.test.snk_input.data() data_out = self.test.snk_output.data() - - self.assertEqual(data_in, data_out) + + self.assertSequenceEqualGR(data_in, data_out) def test_parallelism0_02(self): frame_size = 30 @@ -66,8 +66,8 @@ class test_fecapi_dummy(gr_unittest.TestCase): data_in = self.test.snk_input.data() data_out = self.test.snk_output.data() - - self.assertEqual(data_in, data_out) + + self.assertSequenceEqualGR(data_in, data_out) def test_parallelism1_00(self): frame_size = 30 @@ -83,7 +83,7 @@ class test_fecapi_dummy(gr_unittest.TestCase): data_in = self.test.snk_input.data() data_out = self.test.snk_output.data() - self.assertEqual(data_in, data_out) + self.assertSequenceEqualGR(data_in, data_out) def test_parallelism1_01(self): frame_size = 30 @@ -99,7 +99,7 @@ class test_fecapi_dummy(gr_unittest.TestCase): data_in = self.test.snk_input.data() data_out = self.test.snk_output.data() - self.assertEqual(data_in, data_out) + self.assertSequenceEqualGR(data_in, data_out) def test_parallelism1_02(self): frame_size = 300 @@ -111,11 +111,10 @@ class test_fecapi_dummy(gr_unittest.TestCase): self.test = _qa_helper(10 * frame_size, enc, dec, threading) self.tb.connect(self.test) self.tb.run() - data_in = self.test.snk_input.data() data_out = self.test.snk_output.data() - - self.assertEqual(data_in, data_out) + + self.assertSequenceEqualGR(data_in, data_out) def test_parallelism1_03(self): frame_size = 30 @@ -132,7 +131,7 @@ class test_fecapi_dummy(gr_unittest.TestCase): data_in = self.test.snk_input.data() data_out = self.test.snk_output.data() - self.assertEqual(data_in, data_out) + self.assertSequenceEqualGR(data_in, data_out) def test_parallelism1_04(self): frame_size = 30 @@ -149,7 +148,7 @@ class test_fecapi_dummy(gr_unittest.TestCase): data_in = self.test.snk_input.data() data_out = self.test.snk_output.data() - self.assertEqual(data_in, data_out) + self.assertSequenceEqualGR(data_in, data_out) def test_parallelism1_05(self): frame_size = 30 @@ -257,10 +256,10 @@ class test_fecapi_dummy(gr_unittest.TestCase): data = list(data) packed_data = list(packed_data) - self.assertListEqual(packed_data, r0) - self.assertListEqual(data, r1) - self.assertListEqual(packed_data, r2) - self.assertListEqual(data, r3) + self.assertSequenceEqualGR(packed_data, r0) + self.assertSequenceEqualGR(data, r1) + self.assertSequenceEqualGR(packed_data, r2) + self.assertSequenceEqualGR(data, r3) if __name__ == '__main__': diff --git a/gr-fec/python/fec/qa_fecapi_repetition.py b/gr-fec/python/fec/qa_fecapi_repetition.py index 9d560b32ef..ec55e2d83d 100644 --- a/gr-fec/python/fec/qa_fecapi_repetition.py +++ b/gr-fec/python/fec/qa_fecapi_repetition.py @@ -36,7 +36,7 @@ class test_fecapi_repetition(gr_unittest.TestCase): data_in = self.test.snk_input.data() data_out = self.test.snk_output.data() - self.assertEqual(data_in, data_out) + self.assertSequenceEqualGR(data_in, data_out) def test_parallelism0_01(self): frame_size = 30 @@ -51,7 +51,7 @@ class test_fecapi_repetition(gr_unittest.TestCase): data_in = self.test.snk_input.data() data_out = self.test.snk_output.data() - self.assertEqual(data_in, data_out) + self.assertSequenceEqualGR(data_in, data_out) def test_parallelism0_02(self): frame_size = 30 @@ -66,7 +66,7 @@ class test_fecapi_repetition(gr_unittest.TestCase): data_in = self.test.snk_input.data() data_out = self.test.snk_output.data() - self.assertEqual(data_in, data_out) + self.assertSequenceEqualGR(data_in, data_out) def test_parallelism1_00(self): frame_size = 30 @@ -83,7 +83,7 @@ class test_fecapi_repetition(gr_unittest.TestCase): data_in = self.test.snk_input.data() data_out = self.test.snk_output.data() - self.assertEqual(data_in, data_out) + self.assertSequenceEqualGR(data_in, data_out) def test_parallelism1_01(self): frame_size = 30 @@ -100,7 +100,7 @@ class test_fecapi_repetition(gr_unittest.TestCase): data_in = self.test.snk_input.data() data_out = self.test.snk_output.data() - self.assertEqual(data_in, data_out) + self.assertSequenceEqualGR(data_in, data_out) def test_parallelism1_02(self): frame_size = 300 @@ -117,7 +117,7 @@ class test_fecapi_repetition(gr_unittest.TestCase): data_in = self.test.snk_input.data() data_out = self.test.snk_output.data() - self.assertEqual(data_in, data_out) + self.assertSequenceEqualGR(data_in, data_out) def test_parallelism1_03(self): frame_size = 30 @@ -135,7 +135,7 @@ class test_fecapi_repetition(gr_unittest.TestCase): data_in = self.test.snk_input.data() data_out = self.test.snk_output.data() - self.assertEqual(data_in, data_out) + self.assertSequenceEqualGR(data_in, data_out) def test_parallelism1_04(self): frame_size = 30 @@ -153,7 +153,7 @@ class test_fecapi_repetition(gr_unittest.TestCase): data_in = self.test.snk_input.data() data_out = self.test.snk_output.data() - self.assertEqual(data_in, data_out) + self.assertSequenceEqualGR(data_in, data_out) if __name__ == '__main__': |