discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] [VOLK] Test-case behaviour


From: Stefan Wunsch
Subject: Re: [Discuss-gnuradio] [VOLK] Test-case behaviour
Date: Thu, 12 Nov 2015 09:38:43 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

Some more information about my use-case: I use the input buffer as the
states of the Mersenne Twister and write the generated numbers in the
output buffer. The generation includes the altering of the states
because it's a recursive algorithm.

Actually the only confusing part is the fact that the VOLK ctest checks
input and output buffer (which is a good feature!) but I haven't seen a
hint in the error message which assert failed. Could have been my fault
as well!

Greetings
Stefan

On 11/12/2015 04:29 AM, Tom Rondeau wrote:
> On Wed, Nov 11, 2015 at 8:32 AM, Stefan Wunsch <
> address@hidden> wrote:
> 
>> Aaaah I solved it. Never ever write in a VOLK kernel to your input
>> buffer! This throws no errors but it fails during the ctest. So I
>> suppose the first test compares the output and the second one the input
>> buffers?
>>
>> Greetings
>> Stefan
>>
> 
> Ah, interesting. This is something we should take up in the VOLK working
> group. We don't claim or not claim that you can use the same memory for the
> input and output buffers. Some kernels are known to work with these inplace
> operations. Looks like this one doesn't. Perhaps just testing and knowing
> which kernels do and do not support this and protect those that do not as
> const (which can be easily gotten around) and saying as much in the
> kernel's documentation.
> 
> Though for some reason I feel like I'm misunderstanding something. Also,
> Nathan will probably have more to say on this issue.
> 
> Tom
> 
> 
> 
> 
>> On 11/11/2015 01:45 PM, Stefan Wunsch wrote:
>>> Hi!
>>>
>>> I have some issues with the (understanding of the) behaviour of the VOLK
>>> test-cases (defined in kernel_tests.h).
>>>
>>> Each test defined in kernel_tests.h runs two times. Now I have the
>>> problem that the first one succeeds but the second one fails.
>>>
>>> I do not understand why the icompare function (the signiture is
>>> 32u_foo_32u) in run_volk_tests runs two times. What is the difference
>>> between these calls?
>>>
>>> Btw, I am implementing a SIMD accelerated Mersenne-Twister!
>>>
>>> Greetings
>>> Stefan
>>>
>>> _______________________________________________
>>> Discuss-gnuradio mailing list
>>> address@hidden
>>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>>
>>
>> _______________________________________________
>> Discuss-gnuradio mailing list
>> address@hidden
>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]