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

An error occurred while testing the data_analytics library. #65

Closed
BiscuitsColonel opened this issue Apr 15, 2021 · 3 comments
Closed

Comments

@BiscuitsColonel
Copy link

Hi,

I'm currently testing the data_analytics library.

I tested it using the attached program.
In most cases the test will work, but if I test with the following steps, it will not work.

# cat test.log 
pineapple
green apple
apple

# ./test.exe -xclbin reEngineKernel.xclbin -in test.log -out result.log -pt app
----------------------log analytics with regex----------------
INFO: selected device xilinx_u280_xdma_201920_3
INFO: initilized context.
INFO: initilized command queue.
INFO: created program with binary reEngineKernel.xclbin
INFO: built program.
The log file is partition into 1 section with max_slice_lnm 5 and  takes 0.002000 ms.
DEBUG: reEngineKernel has 8 CU(s)
regex pipelined, time: 1.298 ms, size: 3.05176e-05 MB, throughput: 2.29602e-05 GB/s
-----------------------------Finished regex pipelined test----------------------------------------------

ERROR: undefined error code
ERROR: result mismatch

# cat result.log 
Mismatch
0: [-1, -1]
Mismatch
0: [-1, -1]
Match
0: [0, 3]

I would appreciate it if you could check the above results and tell me how to solve it.

Thanks.

@BiscuitsColonel
Copy link
Author

/*
 * Copyright 2020 Xilinx, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
#include <cstdlib>
#include <fstream>

#include "xf_data_analytics/text/regex_engine.hpp"
#include "general_config.hpp"

// for validating result.
extern "C" {
#include "oniguruma.h"
}

enum {
    MAX_MSG_DEPTH = 250000000,   // Max number of messages in a section
    MAX_MSG_LEN = 65536,         // Max length of message in byte
    MAX_LNM = 6000000,           // Max number of lines in a single section
    MAX_OUT_DEPTH = MAX_LNM * 20 // 20 for 19 capturing groups at most
};
int check_result(std::string pattern,
                 uint64_t* msg_buff,
                 uint32_t* offt_buff,
                 uint16_t* len_buff,
                 uint32_t* out_buff,
                 uint32_t lnm,
                 uint32_t cpgp_nm) {
    int r;
    unsigned char *start, *range, *end;
    regex_t* reg;
    OnigErrorInfo einfo;
    OnigRegion* region = onig_region_new();
    OnigEncoding use_encs[1];

    use_encs[0] = ONIG_ENCODING_ASCII;
    onig_initialize(use_encs, sizeof(use_encs) / sizeof(use_encs[0]));

    UChar* pattern_c = (UChar*)pattern.c_str();

    r = onig_new(&reg, pattern_c, pattern_c + strlen((char*)pattern_c), ONIG_OPTION_DEFAULT, ONIG_ENCODING_ASCII,
                 ONIG_SYNTAX_DEFAULT, &einfo);
    if (r != ONIG_NORMAL) {
        char s[ONIG_MAX_ERROR_MESSAGE_LEN];
        onig_error_code_to_str((UChar*)s, r, &einfo);
        fprintf(stderr, "ERROR: %s\n", s);
        return -1;
    }
    unsigned char* max_str = (unsigned char*)malloc(MAX_MSG_LEN);
    for (int i = 0; i < lnm; ++i) {
        // generate referecne
        int offt = offt_buff[i];
        memcpy(max_str, &msg_buff[offt], len_buff[i]);
        max_str[len_buff[i]] = '\0';
        UChar* str = (UChar*)max_str;
        end = str + strlen((char*)str);
        start = str;
        range = end;
        r = onig_search(reg, str, end, start, range, region, ONIG_OPTION_NONE);
        // compare with actual result
        // match
        if (r == 0) {
            if (out_buff[i * (cpgp_nm + 1)] == 1) {
                for (int j = 0; j < cpgp_nm; ++j) {
                    if (region->beg[j] != out_buff[i * (cpgp_nm + 1) + j + 1] % 65536 ||
                        region->end[j] != out_buff[i * (cpgp_nm + 1) + j + 1] / 65536) {
                        fprintf(stderr, "ERROR: msg: %d, capture group: %d, ref:[%d, %d], act:[%d, %d]\n", i, j,
                                region->beg[j], region->end[j], out_buff[i * (cpgp_nm + 1) + j + 1] % 65536,
                                out_buff[i * (cpgp_nm + 1) + j + 1] / 65536);
                        return -1;
                    }
                }
            } else {
                fprintf(stderr, "ERROR: msg: %d, ref: %d, act: %d\n", i, 1, out_buff[i * (cpgp_nm + 1)]);
                return -1;
            }
            // mismatch
        } else if (r == ONIG_MISMATCH) {
            if (out_buff[i * (cpgp_nm + 1)] != 0) {
                fprintf(stderr, "ERROR: msg: %d, ref: %d, act: %d\n", i, 0, out_buff[i * (cpgp_nm + 1)]);
                return -1;
            }
        } else {
            char s[ONIG_MAX_ERROR_MESSAGE_LEN];
            onig_error_code_to_str((UChar*)s, r);
            fprintf(stderr, "ERROR: %s\n", s);
            onig_region_free(region, 1 /* 1:free self, 0:free contents only */);
            onig_free(reg);
            onig_end();
            return -1;
        }
    }
    onig_region_free(region, 1 /* 1:free self, 0:free contents only */);
    onig_free(reg);
    onig_end();
    return 0;
}
void store_dat(std::ofstream& out_file, uint32_t* out_buff, uint32_t lnm, uint32_t cpgp_nm) {
    typedef union {
        int16_t int_a[2];
        uint32_t d;
    } uint32_un;
    for (unsigned int i = 0; i < lnm; ++i) {
        for (unsigned int j = 0; j < cpgp_nm + 1; ++j) {
            if (i * (cpgp_nm + 1) + j < MAX_OUT_DEPTH) {
                uint32_t out = out_buff[i * (cpgp_nm + 1) + j];
                // match result
                if (j == 0) {
                    if (out == 0)
                        out_file << "Mismatch\n";
                    else
                        out_file << "Match\n";
                } else {
                    // offset of capture group
                    uint32_un tmp;
                    tmp.d = out;
                    out_file << j - 1 << ": [" << tmp.int_a[0] << ", " << tmp.int_a[1] << "]\n";
                }
            }
        }
    }
}
int load_dat(
    std::ifstream& log_file, uint64_t* msg_buff, uint32_t* offt_buff, uint16_t* len_buff, uint32_t& lnm, int limit_ln) {
    typedef union {
        char c_a[8];
        uint64_t d;
    } uint64_un;

    lnm = 0;
    std::string line;
    uint32_t offt = 0;
    while (!log_file.eof() && (offt < (MAX_MSG_DEPTH - MAX_MSG_LEN / 8)) && lnm < MAX_LNM &&
           (limit_ln == -1 || lnm < limit_ln)) {
        getline(log_file, line);
        size_t sz = line.size();
        // max line
        if (sz >= MAX_MSG_LEN) {
            std::cerr << "ERROR: length of line exceeds " << MAX_MSG_LEN << ".\n";
            return -1;
            // ignore empty line
        } else if (sz > 0) {
            offt_buff[lnm] = offt;
            len_buff[lnm] = sz;
            for (int i = 0; i < (sz + 7) / 8; ++i) {
                uint64_un out;
                for (unsigned int j = 0; j < 8; ++j) {
                    if (i * 8 + j < sz) {
                        out.c_a[j] = line[i * 8 + j];
                    } else {
                        out.c_a[j] = ' ';
                    }
                }
                msg_buff[offt++] = out.d;
            }
            lnm++;
        }
    }
    // one more
    offt_buff[lnm] = offt;
    return 0;
}
int main(int argc, const char* argv[]) {
    std::cout << "----------------------log analytics with regex----------------" << std::endl;
    // command argument parser
    // TODO use new argument parser from Utility library.
    xf::data_analytics::text::details::ArgParser parser(argc, argv);

    std::string xclbin_path;
    if (!parser.getCmdOption("-xclbin", xclbin_path)) {
        std::cout << "ERROR: xclbin path is not set!\n";
        return 1;
    }
    std::string log_path;
    if (!parser.getCmdOption("-in", log_path)) {
        std::cout << "ERROR:  input log path is not specified.\n";
        return 1;
    }
    std::string out_path;
    if (!parser.getCmdOption("-out", out_path)) {
        std::cout << "ERROR:  output path is not specified.\n";
        return 1;
    }
    std::string ln_nm;
    int limit_ln = -1;
    if (parser.getCmdOption("-lnm", ln_nm)) {
        try {
            limit_ln = std::stoi(ln_nm);
        } catch (...) {
            limit_ln = -1;
        }
    }
    std::string pattern;
    if (!parser.getCmdOption("-pt", pattern)) {
        std::cout << "ERROR:  pattern is not specified.\n";
	return 1;
    }

    // allocate the in-memory buffer
    xf::data_analytics::text::details::MM mm;
    uint64_t* msg_buff = mm.aligned_alloc<uint64_t>(MAX_MSG_DEPTH);
    uint32_t* offt_buff = mm.aligned_alloc<uint32_t>(MAX_LNM);
    uint16_t* len_buff = mm.aligned_alloc<uint16_t>(MAX_LNM);
    uint32_t* out_buff = mm.aligned_alloc<uint32_t>(MAX_OUT_DEPTH);
    // constructor of reEngine
    xf::data_analytics::text::re::RegexEngine reInst(xclbin_path, 0,                          // device config
                                                     INSTR_DEPTH, CCLASS_NM, CPGP_NM, MSG_SZ, // re limits
                                                     SLICE_SZ, SLICE_NM);                     // prcessing
    xf::data_analytics::text::re::ErrCode err_code;
    // compile pattern
    err_code = reInst.compile(pattern);
    if (err_code != 0) return -1;

    // get capture group number
    uint16_t cpgp_nm = reInst.getCpgpNm();

    // load data from disk to in-memory buffer
    std::ifstream log_file(log_path);
    std::ofstream out_file(out_path);
    uint32_t lnm = 0;
    if (!log_file.is_open()) {
        std::cerr << "ERROR: " << log_path << " cannot be opened for read.\n";
        return -1;
    }
    if (!out_file.is_open()) {
        std::cerr << "ERROR: " << out_path << " cannot be opened for write.\n";
        return -1;
    }
    while (!log_file.eof() && (limit_ln == -1 || lnm < limit_ln)) {
        // load data
        if (load_dat(log_file, msg_buff, offt_buff, len_buff, lnm, limit_ln) == -1) {
            return -1;
        }
        if (lnm > 0) {
            // call reInst to do regex
            err_code = reInst.match(lnm, msg_buff, offt_buff, len_buff, out_buff);
            if (err_code) {
                std::cerr << "ERROR: match failed.\n";
                return -1;
            }
            // write data to disk
            store_dat(out_file, out_buff, lnm, cpgp_nm);
            // if check is open, check the result with golden
            int r = check_result(pattern, msg_buff, offt_buff, len_buff, out_buff, lnm, cpgp_nm);
            if (r == -1) {
                fprintf(stderr, "ERROR: result mismatch\n");
            } else {
                fprintf(stdout, "SUCCESS: result match\n");
            }
        }
    }
    log_file.close();
    out_file.close();
    std::quick_exit(0);
    return 0;
}

@vt-lib-support
Copy link
Collaborator

vt-lib-support commented Apr 19, 2021

Hi,

Thank you for bringing this to our attention. We are implementing the regex match behavior similar to Pytyon's re.match, which "return a corresponding match object if zero or more characters at the beginning of string match this regular expression".

So pattern app will match apple but will not match pineapple.

We will improve documentation and fix our test case to make this more clear in next release.

Thanks!

@BiscuitsColonel
Copy link
Author

I understand the function.
Thanks.

vt-lib-support pushed a commit that referenced this issue Jul 14, 2021
6b60f47 update utils.mk (#68)
ee61e2e remove modular test which are not for customer (#67)
8cb2e7a Fix next cr 0511 (#66)
31e490b Fix next cr-1086848 (#65)
7571eba Fix cr 1098358 (#64)
5f013b6 Fix ripmd golden (#63)
3bf0e84 fix dsp chain issue (#62)
33ad0aa opt ecdsa secp256k1 (#61)
dc3cc06 fix typo in pragma
3e65107 Minor Changes (#50)
a0954a3 minor change (#59)
ec1de22 Next bring back api (#58)
b3fbbe3 Update Jenkinsfile
a9599aa change all the makefiles in L1 to fix aws support (#57)
1fdae3a Next benchmark (#55)
dbdc5fa Next benchmark (#53)
d5f7f30 Next benchmark (#52)
3f53c9f add aws/versal support for L1 (#51)
f93c89d update tool version for vck_190 (#49)
1845b19 support vcd_190 (#48)
47a57b4 AES refactor (#46)
0114cb6 Add Sizeless version CRC32 and Adler32 (#44)
2ed8174 2021.1 ripemd160 (#43)
a0562f2 change 2020.2_stable_latest to 2021.1_stable_latest

git-subtree-dir: security
git-subtree-split: 6b60f47b03ade447f1dea46b47d8abebe0fbe553
vt-lib-support pushed a commit that referenced this issue Jul 14, 2021
8ae31f4 Merge pull request #69 from changg/fix_utils
5ffe595 Merge pull request #68 from FaaSApps/dev2021.1
41acedc fix utils
1669d83 Merge remote-tracking branch 'sparse_lisa/dev2021.1' into dev2021.1
0c3e40b fix hold timing violation
d6f0773 Merge pull request #67 from FaaSApps/dev2021.1
66971cb Merge remote-tracking branch 'sparse_lisa/dev2021.1' into dev2021.1
a8cc599 using HBM to store parameters in spmv_double benchmark test
2dcc3c6 Merge pull request #66 from FaaSApps/dev2021.1
1f89399 Merge remote-tracking branch 'sparse_lisa/dev2021.1' into dev2021.1
ca3b1f4 fix pragma variable name error
15b70be Merge pull request #65 from FaaSApps/dev2021.1
e0a1b7f Merge remote-tracking branch 'sparse_lisa/dev2021.1' into dev2021.1
7a1504d add missing python code
4e82641 Merge pull request #64 from FaaSApps/dev2021.1
df4357e Merge remote-tracking branch 'sparse_lisa/dev2021.1' into dev2021.1
954da5a update shell script for generating test inputs for spmv_double benchmark
513761b simplify sparse matrix partition code
30659ad Merge pull request #63 from FaaSApps/dev2021.1
4d51dae Merge remote-tracking branch 'sparse_lisa/dev2021.1' into dev2021.1
bc786aa standardize code
a04f281 Merge pull request #61 from giorgiob/patch-1
fc515e5 Merge remote-tracking branch 'sparse_lisa/dev2021.1' into dev2021.1
3598af3 fix typos in README
3afc58f 2 typos
486dc8a Merge pull request #60 from FaaSApps/dev2021.1
174d943 Merge remote-tracking branch 'sparse_lisa/dev2021.1' into dev2021.1
80fc2b5 change spmv host code to use latest Kernel::run from hpc
56b41c2 add dependency in Jenkinsfile
8bae34e remove unused L3
33f4e98 Merge pull request #59 from FaaSApps/dev2021.1
ae9394f remove unused kernels
e4cac1b Merge remote-tracking branch 'sparse_lisa/dev2021.1' into dev2021.1
eb24a2f finish documentation for double precision SPMV
2938d06 fix issue in Doxyfile
717e3aa benchmark documentation done
baafb8e added benchmark .rst files
f461693 beatify benchmar READMES
3f68c09 clean up benchmark READMEs
d158f89 Merge pull request #58 from changg/next
fb7283e added test.txt for spmv_double benchmark
acb6ad3 change all the makefiles in L1 to fix aws support
688bc1b Revert "fix tcl/makefile for vu9p support"
ab0c45b fix tcl/makefile for vu9p support
71a6571 add versal/aws for L1
8951feb Merge pull request #57 from FaaSApps/dev2021.1
bb00212 Merge remote-tracking branch 'sparse_lisa/dev2021.1' into dev2021.1
362704f update spmv benchmark host code to use runKernels from fpga.hpp in HPC lib
b303e92 Merge pull request #56 from FaaSApps/dev2021.1
c39d18b improve csv
be76cb4 format code
d8caaa5 merge dev2021.1 branch from Lisa's repo
634a476 beautify readme
8ed4f54 finish readme in SpMV benchmark
48921f4 improve benchmakr
3f91efe spmv_double benchmark scripts work
bd9e341 add scripts for spmv_double benchmarking
07ab556 add python script to run L1 SPMV double test
2c7d392 spmv double benchmark kernel works on hw with xrt2020.2_released
16d0d8d change the stream depth between selMultX and rowAcc kernel from 1024 to 16, the .xclbin works on hw with 2020.2_released XRT
33444e4 add vck190 to the blacklist
d88738b format code
32d4d77 add README for benchmarks
a74fde2 remove unused data files
bd5bc03 double rowMemAcc path to avoid long delay between output rbs, hw_emu pass
164b66c add L2 benchmark code
ab6e389 move regAcc to selMultX kernel
ac18087 store idx with NNZ to remove 2 HBM channels connection
a17ffdf Merge pull request #54 from FaaSApps/dev2021.1
58432b3 Merge pull request #53 from lingl/dev2021.1
79ba64d add previously ignored test data files
8744603 remove internal L1 test data
87da992 rename test file
ba7c3b6 remove internal L2 tests
265d6e8 remove internal L1 tests
56080f6 Merge pull request #52 from lingl/dev2021.1
af5593b remove unused functions
a0cd25a add test data for float64 SpMV
064decc fix Makefile for cscmv test
c151df1 fix error
738af09 clean up cscmvSingleHbm test
28059fa format files
6fbaa25 add debug info printing in signature.py
2ca01bb successfully build latest fp64 spmv xclbin at 270MHz
86eefa5 fp64 spmv works for unbalanced load with max load diff is 4
2f0c763 improve hw efficiency for fp64 SPMV, olafu hw_emu time drops form 280us to 198us
4946791 fp64 SPMV pass hw_emu for olafu
bd0d677 add the multi channel partitions and row blocks control in fp64 spmv test
d323821 update L1 fp64 spmv test for sw simulation
12c28c7 added data generation script
c1039c6 remove obsolete L2 fp64 spmv tests
9b5919f remove timer kernel from fp64 spmv design
15b4c77 add cublas example
072edf5 merge upstream dev2021.1 branch
03a6e87 spmv float64 can reach 270MHz on U280
0547c3b formatting code
a4d4b6c Merge remote-tracking branch 'upstream/dev2021.1' into dev2021.1
bb11536 update host code for spmv
01a4c51 add vec padding in python code
f3bed58 change python code and assemblyY kernel to handle aligned row and col sizes
67d4912 typo error
557a15d add core code of loadIdxKernel
afaa1da add gpu benchmark
f562232 all load kernels in fp64 uses single function call
27c1472 check in the loadNnzKernel that works with the new code organization
34f1aa0 re-write internal code of loadNnz as one function
4179a71 add location for loadRowIdx and storeY kernel, timing improved by 0.2ns
7a3ac3d move some adder to selMultX to reduce the axis width between selMultX and rowAcc
40d6cee spmv benchmark
8db678b update spmv cpu benchmark
44643ed merge param ports into one AXIS port
b6fb6c3 one param port in selMultX works with fmax 220MHz
1f1885f add a fp64 spmv design with single param port for selMultX
2309696 added a float64 spmv test that has moveX and selMultX in one kernel
3602ebd added info.dat generation in signature.py to record the original and padded m,n,nnz
5611b6a added matrix and efficiency info in L2 SPMV test
6b368b6 hw emu pass throught
80fa2b1 hw_emu run through
8ca4dac added the interface definitions in the spmv kernels
08a7b39 added wavefore tracing to the L1 spmvKernel test
6870526 move to l3
51a0dd4 spmvKernel test pass csim
ff224f2 format
0373720 first draft of spmv benchmark
8593a53 added debugging infrastructure in python and L1 spmv test
c91c56e update L1 spmvKernel test to run cosim
0b4474e Merge pull request #50 from lingl/dev2021.1
3fea71f add spmv L1 test for internal debugging
f057cc3 fix all compilation errors in fp64 spmv hw_emu
1b0f781 fix issue in description.json
c8a0ad0 hw_emu hangs up
d001232 move Python code from L3 to L2 tests that use the code
ade8fe6 build host.exe and spmv.xclbin for hw_emu successfully
41da0f6 float64 spmv test kernel and host pass compilation
720f46e Merge remote-tracking branch 'upstream/next' into dev2021.1
a5d1ebd standardize code
00ce3e9 added all kernel imp
caf0a47 add more L2 kernel code for fp64
59ff524 add some L2 kernel definitions
0c01748 add assembleY to output single entry, also added test for that function.
8f9b834 added python code for generating in/ref-vectors
9c89596 remove all zeros when check signature. All tests pass.
929b6f9 signature verification works for one test
5352982 change colIdx storage to be the (colId-chMinColId)/parEntries
d1bf088 fix bug in sig_gen
7fac638 fix memory image genaration bug
9324a7d finish memory image generation Python code
89db930 Signature generation done
e1834fb add chParInfo generation python code
f840e35 finish nnz col and row padding
fcc21fd added signature.py to pad nnzs to parEntries and parEntries*accLatency
9a6edab fix typos
168a75c rename fwd4MultComp to fwdIdx
d81fdc7 change module load4MultComp to loadIdx
07899ec remove rows info from col parameter storage
152b35d remove row Idx generation from multX and selMultX
976bbbf outputRow test pass
1b82f4a adapt outputRow test for new row parameters
277d8aa added logic to generate 0s for rows outside the range of chRowBlock
866e9ae update param passing sequence for rowAcc
cf6994d modify parition code to make minColId to be aligned with parEntries
a50188a partition checking code works
08a379c simplify partition impl and add multiple matrices logging support
1988127 refactor partition python code
b600a7f add row block info generation for each channel
f0e44d7 beautify partition.py
1a621b3 separate log generation function
685d3fd dump partition data into binary file
421734a partition works
64280a8 change 2020.2_stable_latest to 2021.1_stable_latest
39c49f9 update partition.py
2522e02 add row block analysis in python
b036cda add python code for analyzing matrices
1a18c7e code standardization
e45810e outputRow pass test
e107cd1 fix bugs in outputRow testbench
70d3efe added datamover code and test for row param and results
38517db add x distribution test in loadCol. Test pass.
ca0fcac auto-gen Makefile and run_hls.tcl for loadCol test
0812cf8 add block size to the output xStr of loadCol
bf6ed5b loadCol pass CSIM and COSIM
7292d3f add loadCol test
340fad2 use same L1 module load4MultComp for moving col indices and number of rows
430de61 use description.json to generate run_hls.tcl and Makefile for L1 loadColIdx test case
447fb32 add the imp and test of loadColIdx, test pass
0fab834 Merge pull request #48 from lingl/next
5f7158a drop fmax for 201920_3 shell
5b6ae6b simplify loadNnz implementation
4bd5784 Merge pull request #47 from lingl/next
df94c62 increase hw build time for L2 cscmv test
2361d06 standardize loadNnz test
e4695cd implemented & tested loadNnz
e86b2d3 standardize code and description.json
d44a646 remove .wcfg file
03a05d5 selMultX works in both sw_emu and hw_emu
d6725f0 csim pass for selMultX
3e08258 added selMultX kernel core
77079a7 finish all components for selMultX
835a533 in multX assume host pads each row to multiple 32 NNZs
3c400bd reduces bubble from 15/row to 1/row
46c7756 squeeze some bubbles out of multX
bc8b3df add multX implementation
1fcaa96 use parameter stream to pass parameters
a0ece37 formatting and auto generate Makefile and .tcl file
a1004cf add FP64 input vector selector logic
4709463 implemented rowAcc primitive for rowAcc kernel
65d37a8 wrap regAcc and rowMemAcc with pure streaming inf
ec0497f modify L1/tests/hw/fp64/regAdd/description.json to generate Makefile and .tcl file
1f268ec implemented fully pipelined regAcc for double data type
af3835d update description.json for fp64/rowMemAcc test
0ee91eb add fp64 rowMemAcc, 8 cycles, COSIM pass
b429d07 added double data type cscmv tests

git-subtree-dir: sparse
git-subtree-split: 8ae31f422a7e3edff4a8a15681d2a2a70ed050e3
vt-lib-support pushed a commit that referenced this issue Jul 14, 2021
0d85fda Merge pull request #83 from leol/fix-regression
703740a Fix HW_EMU stall issue by adding disable_auto_rewind properly
7b6c312 Merge pull request #82 from changg/fix_timeout
103a671 fix mem limit
8a31e6f Merge pull request #78 from mlechtan/next
d712471 Fix for CR-1100957.
450d34c update utils.mk to fix CR-1099846 (#77)
825ca3e Regen Makefile + fix for CR-1099846
1ef68a4 Regen Makefiles + fix for CR-1099846
be70647 Adding FFT defaults for backwards compatibility
e3ffd95 Fix for ADL-601
8d90b3e Reverting FFT's aiecompiler option: "-Xchess=main:noodle.optim.olbb=20", as it is causing a significant QoR degradation.
7547c50 Regenerating Makefiles
cf67891 Minor tidy up
4ba7618 Renaming FFT testcases
9e412ae Fix for Matrix Multiply - ADL-575 & ADL-577
6756386 Fix for issues: ADL-598 & ADL-599
40734b6 Fix for CR-1099828 and CR-1099835.
83a3f23 Fix for CR-1099658.
9b3c4d0 Syncing testcases names.
a189e03 Merge pull request #76 from mlechtan/cr_1098791
c1ce566 Renaming testcases.
991b31c Adding description.json for widget components
1ca81c1 Merge pull request #2 from FaaSApps/next
6f715d9 Merge pull request #71 from mlechtan/cr_1098791
d635a15 Removing duplicate --use-phy-shim
2650486 Merge pull request #75 from changg/fix_timeout
8e1c24e fix timemout
aa045d3 Merge branch 'next' into cr_1098791
4af7af5 Updating DSPLib to 05/12/2021 P4 CL: 3214238. Fixing failures in FFT, FIR and MM testcases. (#68)
e854e7e Merge pull request #74 from changg/fix_timeout
96bf5aa fix memlimit
807909b Updated Makefiles with fix for issue #242
8ab3cd2 Regenerated Makefiles
07dcc3a Changing "option" to "options"
4510221 Merge pull request #73 from leol/fix-CR-1099304
59a1267 Add configs during link time
c6acd69 Add connectivity files
bd7e558 Merge pull request #72 from leol/fix-CR-1099304
e1a8f16 Remove redundant xrt initialization files
a503a8a Adding connectivities for aws-vu9p-f1
e417ef7 Fix connection issue by adding connectivity constraints (#69)
a619bfd Fix for CR-1098791.
46bb7c1 Merge pull request #66 from mlechtan/next
6fd4535 Update description.json
c072d6c Update description.json
ce07774 Merge pull request #61 from mlechtan/next
448c8aa Merge branch 'next' into next
e57681e Merge pull request #65 from changg/0417
3216344 fix coding style error
83562fc fix matric
3f82160 Delete dds_mixer.cpp
953e6b2 fft and matric_mul
254682b test update
483af6d Appending target list with vitis_aie_x86sim
4f21761 Enabling x86sim target on xf_dsp_aie
7eb8a14 Add readme for explaining the input/output order for 1D/2D FFT (#59)
a64c9b1 Remove rewind option as no 2nd data ingressed (#57)
35741a2 Merge pull request #56 from yuanqian/L1_aws
c2f2613 hls cases support aws-vu9p-f1
bc81c26 Merge pull request #52 from yuanqian/vck190_aws
44d7e75 add pl script for embedded
d0eab99 port vitis cases to vck190 and aws
5e017d7 Merge pull request #51 from leol/L2-benchmark
74e719e Remove conlict pragma (PIPELINE/INLINE)
66b2a43 Merge pull request #46 from changg/6DSPcases
9fd92dc fix token in matrix_mult
9cb3f4c Merge pull request #50 from leol/L2-benchmark
9561f3f Correct path in readme
491236f Merge pull request #49 from leol/L2-benchmark
87fe6e1 Add descriptions for AIE graphs in readme
5a66285 Merge pull request #48 from leol/L2-benchmark
d5f3576 Improve readme
73e0a10 Merge pull request #47 from leol/L2-benchmark
34591c2 Add readmes
513f851 Merge pull request #45 from leol/L2-benchmark
0151849 Host code standardization
6dd5a90 add all left 6 cases
5d85f11 add fir_decimate_asym
305d63d refine fir_sr_sym
ada7282 add five cases and one hang
5d01190 Merge pull request #44 from changg/reorg_And_newcases
03d621b re-org project and add two more cases
9696681 Merge pull request #42 from leol/L2-benchmark
70a5f40 Merge remote-tracking branch 'upstream/next' into L2-benchmark
d7b27f9 Fix for Cosim stall by disabling auto-rewind
26f4801 Disable auto-rewind to fix Cosim stalls
9db0d22 Merge pull request #43 from changg/fir_interpolate_asym
be99df1 fix multi_params.json
94433e2 add vitis_aie_sim in Jenkinsfile
ac82e94 add fir_sr_sym
8b70c17 Fix CR-1087277
f02c0cd add L1/tests/aie
7201b31 add fir_interpolate_asym
eb1d7ae Merge remote-tracking branch 'upstream/next' into L2-benchmark
d504d13 Change default test size for 2D fixed hw run
91744f7 Reference design for 2D FFT
ac15092 Merge pull request #41 from changg/rm_unused_file
6b61b03 remove unused files
4d6577c Merge pull request #39 from changg/merge_aiedsplib
388a9bd merge aie dsp code
3d5adb0 Ref designs for 1D FFT (fixed+float)
bead7fa Merge pull request #37 from changg/jenkinsfile
54bbf5a fix libname in Jenkinsfile
65b1311 Merge pull request #36 from leol/remove-dim
134f4e3 Remove dim option in stream pragmas
cdb562b change 2020.2_stable_latest to 2021.1_stable_latest

git-subtree-dir: dsp
git-subtree-split: 0d85fdaa4077ee0bef8aaf9fac3924cd0999afb8
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

2 participants