Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error when creating temporary values within kernel functions #73

Open
shanhx2000 opened this issue Nov 13, 2023 · 0 comments
Open

Error when creating temporary values within kernel functions #73

shanhx2000 opened this issue Nov 13, 2023 · 0 comments

Comments

@shanhx2000
Copy link

shanhx2000 commented Nov 13, 2023

Dear developers,

As a beginner with HLS, I am trying to use ScaleHLS to optimize a large integer modular multiplication program. Unfortunately, I met some difficulties.

First, I found that ap_fixed library provided by Vitis cannot be used. ap_fixed library needs template in it, requiring to be C++ code. I kind of curious if there's a way to support taking in C++ code with ScaleHLS?

Second, I got "Stack dump" for llvm compiler when there are temporary array claimed within the kernel function. Here's an easy example that crashes. Do you have any comments about it?

typedef float uint64_t; void multiply256(uint64_t a[NUM_INTS], uint64_t b[NUM_INTS], uint64_t result[NUM_INTS*2]) { #pragma scop uint64_t temp[NUM_INTS * 2] = {0}; for (int i = 0; i < NUM_INTS*2; i++) { result[i] = temp[i]; } #pragma endscop }

Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant