Skip to content

Address binary JIT operations where combined node is too large #2389

@umar456

Description

@umar456

JIT operations that take two or more operands can fail due to a large parameter size in case of non-linear JIT kernels. This sceanario appeared in issue arrayfire/arrayfire-python#199. You can recreate this error using the following C++ code:

TEST(JIT, TwoLargeNonLinear) {
  array a(10, 10);
  array b(10, 10);

  for(int i = 0; i < 23; i++) {
    a += tile(randu(10), 1, 10) + randu(10, 10);
  }

  for(int i = 0; i < 23; i++) {
    b += tile(randu(10), 1, 10) + randu(10, 10);
  }


  array c = a + b;
  c.eval();
  af::sync();
}

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