Skip to content

set_memory unable to handle #265

Answered by yamaguchi1024
ashriram asked this question in Q&A
Discussion options

You must be logged in to vote

Hi @ashriram,

Thanks for trying out Exo!

The code after old_fission_after (last line from your code) is this:

def math_avx2_scheduled(n: size, x: R[n] @ DRAM, y: R[n] @ DRAM):
    for io in seq(0, n / 8):
        xyy: R[8] @ AVX2
        for ii in seq(0, 8):
            xyy[ii] = x[8 * io + ii] * y[8 * io + ii] * y[8 * io + ii]
        for ii in seq(0, 8):
            x[8 * io + ii] = xyy[ii]
    if n % 8 > 0:
        for ii in seq(0, n % 8):
            x[ii + n / 8 *
              8] = x[ii + n / 8 * 8] * y[ii + n / 8 * 8] * y[ii + n / 8 * 8]

You can see that the buffer xyy: R[8] @AVX2 is written and read in for ii loops. You cannot read and write directly from AVX2 registers, so Exo's…

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@ashriram
Comment options

Answer selected by yamaguchi1024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants
Converted from issue

This discussion was converted from issue #262 on October 31, 2022 20:36.