From 95875d1a64209ce412e0032ca9feae1df8f44d09 Mon Sep 17 00:00:00 2001 From: Eduardo Gonzalez Date: Fri, 22 Apr 2022 13:19:37 +0900 Subject: [PATCH] Make _NEC vector pragma explicit. --- src/main/scala/com/nec/spark/agile/core/CodeLines.scala | 4 ++-- .../com/nec/spark/agile/projection/ProjectionFunction.scala | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/scala/com/nec/spark/agile/core/CodeLines.scala b/src/main/scala/com/nec/spark/agile/core/CodeLines.scala index 3f1d53f2c..bfea7f626 100644 --- a/src/main/scala/com/nec/spark/agile/core/CodeLines.scala +++ b/src/main/scala/com/nec/spark/agile/core/CodeLines.scala @@ -30,9 +30,9 @@ object CodeLines { CodeLines.from(s"if ($condition) { ", sub1.indented, "} else {", sub2.indented, "}") } - def forLoop(counter: String, until: String)(sub: => CodeLines): CodeLines = { + def forLoop(counter: String, until: String, vector: Boolean = false)(sub: => CodeLines): CodeLines = { CodeLines.from( - "#pragma _NEC vector", + if (vector) "#pragma _NEC vector" else "", s"for (auto $counter = 0; $counter < $until; $counter++) {", sub.indented, "}" diff --git a/src/main/scala/com/nec/spark/agile/projection/ProjectionFunction.scala b/src/main/scala/com/nec/spark/agile/projection/ProjectionFunction.scala index 24c39f59a..f192440fc 100644 --- a/src/main/scala/com/nec/spark/agile/projection/ProjectionFunction.scala +++ b/src/main/scala/com/nec/spark/agile/projection/ProjectionFunction.scala @@ -65,14 +65,14 @@ case class ProjectionFunction(name: String, if (cexpr.isNotNullCode.isEmpty) { CodeLines.from( s"size_t vcount = ceil(${inputs.head.name}->count / 64.0);", - CodeLines.forLoop("i", s"vcount") { + CodeLines.forLoop("i", s"vcount", vector = true) { List( s"${outname}->validityBuffer[i] = 0xffffffff;" ) } ) } else { - CodeLines.forLoop("i", s"${inputs.head.name}->count") { + CodeLines.forLoop("i", s"${inputs.head.name}->count", vector = true) { List( s"$outname->set_validity(i, ${cexpr.isNotNullCode.getOrElse("1")});" )