I am currently programming on the Cell/BE and I have problem I cannot really figure out.
I am sending some floating point data on the SPEs and I executing an if statement upon those data and the result I am getting back is not correct.
I found out that the problem was on the casting of data and corrected it with extra casting on the data while computing the result.
Now I am using compression on my data also and I again have the same problem but it does not work if I use casting again.
If i send the data back to PPE and execute the if statement there I get the correct result but the SPEs don't seem to be able to find the correct result, probably because they are loosing bits somewhere.
If anyone can help, I'll be glad to here him out.
This topic has been locked.
3 replies Latest Post - 2010-07-16T13:32:43Z by Dave_Krolak
Pinned topic Cell/Be programming problem
Answered question This question has been answered.
Unanswered question This question has not been answered yet.
Updated on 2010-07-16T13:32:43Z at 2010-07-16T13:32:43Z by Dave_Krolak
einervondenen 270002SNCF8 PostsACCEPTED ANSWER
Re: Cell/Be programming problem2010-03-08T16:13:08Z in response to diavastosIt is difficult to diagnose your problem without seeing any code so maybe you could paste the code you use so we can all have a look.
First I would make sure that the data correctly arrived on the SPE (you can use printf if nothing else is available). You can also output the values in hexadecimal format to compare the results you get on the PPE and SPE and see if they match.
diavastos 2700030T6V2 PostsACCEPTED ANSWER
Re: Cell/Be programming problem2010-03-11T09:36:19Z in response to einervondenenI found the problem after all and corrected some thing in my code and it is working now.
But I have a more general question.
Is it possible that during the data transfer from main memory to SPEs or from SPEs to main memory,
we loose any bits from the data that could result to wrong data in the end?