- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Here's anerror I'm getting with my program. It seems that the syntax of the kernel file is correct, however aoc returns to stderr:
2013.07.30.11:55:36 Error: Failed to elaborate classic module /tmp/alt5916_1916372837523109407.dir/0055_sopclgen/yysystem.ptf (255) 2013.07.30.11:55:37 Error: Generation stopped, 184 or more modules remaining Error: ip-generate FAILED See SoftDecode.log for details. I can paste the entire log here if requested. I should I go about this issue? Thank you.Link Copied
7 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I cannot tell you what cause this kind of error, but I had the same error yesterday with my program ! I just restarted my computer to get rid of it ! Perhaps, you can try it ! Cheers- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- Hi, I cannot tell you what cause this kind of error, but I had the same error yesterday with my program ! I just restarted my computer to get rid of it ! Perhaps, you can try it ! Cheers --- Quote End --- I tried a reboot, but didn't help. Are there any restrictions regarding vector data types? It's the only major difference I can tell from other designs I've worked through AOCL.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can you post that log, it might have information that I can use to point you in the right direction.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- Can you post that log, it might have information that I can use to point you in the right direction. --- Quote End --- I need to re-run it. But it start working once I re-wrote the macros:
# define VSTORE(Lr0,Lr1,Lr2,ld0,ld1,ld2,word,offset){
Lr0.word = ((Lr0.word << 8) & 0xFFFFFF00) | ld0 + offset;
Lr1.word = ((Lr1.word << 8) & 0xFFFFFF00) | ld1 + offset;
Lr2.word = ((Lr2.word << 8) & 0xFFFFFF00) | ld2 + offset;
}
where Lr0,Lr1,Lr2 are defined as uint4 variables, ld0,ld1,ld2 are char variables with members s0,s1,s2 and s3, so I was using it like VSTORE(Lr0,Lr1,Lr2,ld0,ld1,ld2,s0,0)
VSTORE(Lr0,Lr1,Lr2,ld0,ld1,ld2,s1,0)
VSTORE(Lr0,Lr1,Lr2,ld0,ld1,ld2,s2,0)
VSTORE(Lr0,Lr1,Lr2,ld0,ld1,ld2,s3,0)
I'm now using it as: inline void VSTORE(uint *Lr0,uint *Lr1,uint *Lr2,char *ld0,char *ld1,char *ld2,int word,int offset){
if(word==0){
*Lr0 = ((*Lr0 << 8) & 0xFFFFFF00) | *ld0 + offset;
*Lr1 = ((*Lr1 << 8) & 0xFFFFFF00) | *ld1 + offset;
*Lr2 = ((*Lr2 << 8) & 0xFFFFFF00) | *ld2 + offset;
}else if(word==1) { ...}
else if(word==2) { ...}
else if(word==3) { ...}
}
and it compiles now. I'll re-run it and post it here.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- where Lr0,Lr1,Lr2 are defined as uint4 variables, ld0,ld1,ld2 are char variables with members s0,s1,s2 and s3, so I was using it like --- Quote End --- I'm confused a bit, you're saying that ld0, ld1, and ld2 have members, i.e., they're char4? Or are they char? If they're char4, then you should post-fix ".word" to them also.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
From the Altera SDK for OpenCL Optimization Guide:
"If you update one element of a vector type, update all the elements of the vector, as shown in Example 17.
__kernel void update (__global const float4 * restrict in,
__global const float4 * restrict out)
{
size_t gid = get_global_id(0);
out.x = process(in.x);
out.y = process(in.y);
out.z = process(in.z);
out.w = 0; //Update w even if that variable is not required.
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I got similar error when generating QSys system. I saved, closed QSys and Quartus and just re-started them back. Everything worked after restarting :-|
I am using version 12.1 Sp1 (Full version, not Webpack). Is it known yet, why this error occurs and what's the best remedy to fix it. If Altera knows that restarting fixes it, then why don't they tackle / correct the real (bug ?) issue in the first place..
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page