Skip to content

Floating point exception(core dumped) #3

@wub11

Description

@wub11

Hi,
I tried a simple convolution code but got this:

./run.sh: line 41:  5460 Floating point exception(core dumped) $opcodegen $finalnode $edge $llvmnode $llvmedge $obj prolog.sch kernel.sch epilog.sch $X $Y $R $liveoutnode $liveoutedge > cgra_instructions.txt

Simple convolution code:

#include <stdlib.h>
#include <stdio.h>

#define kernelSize 2
#define inputSize 50

int count = 0;
int *convolve(int input[inputSize][inputSize], int filter[kernelSize][kernelSize])
{
    int output[inputSize-kernelSize+1][inputSize-kernelSize+1];
    for (int i = 0; i < inputSize-kernelSize+1; i++)
        for (int j = 0; j < inputSize-kernelSize+1; j++)
            output[i][j] = 0;
    for (int oj = 0; oj < inputSize-kernelSize+1; oj++)
    {
    #pragma CGRA
        for (int oi = 0; oi < inputSize-kernelSize+1; oi++)
        {
            output[oi][oj] += input[oi + 0][oj + 0] * filter[0][0];
            output[oi][oj] += input[oi + 0][oj + 1] * filter[0][1];
            output[oi][oj] += input[oi + 1][oj + 0] * filter[1][0];
            output[oi][oj] += input[oi + 1][oj + 1] * filter[1][1];
        }
    }
    for (int oj = 0; oj < inputSize-kernelSize+1; oj++)
    {
        for (int oi = 0; oi < inputSize-kernelSize+1; oi++)
        {
            printf("%d \n",output[oi][oj]);
        }
    }
}
int main(int argc, char *argv[])
{
    int h[inputSize][inputSize];
    for (int i = 0; i < inputSize; i++)
        for (int j = 0; j < inputSize; j++)
            h[i][j] = i*j;
    int z[kernelSize][kernelSize] = {{1, 2}, {1, 2}};

    convolve(h, z);
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions