Skip to content

Commit d5cf57d

Browse files
authored
Merge branch 'main' into ctas-rtas-write-support
2 parents 907b373 + 8e360c1 commit d5cf57d

218 files changed

Lines changed: 2749 additions & 405 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

datagen/src/main/spark400/scala/org/apache/spark/sql/tests/datagen/DataGenExprShims.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,13 @@
2020
{"spark": "401"}
2121
{"spark": "402"}
2222
{"spark": "403"}
23+
{"spark": "404"}
2324
{"spark": "411"}
2425
{"spark": "412"}
2526
{"spark": "413"}
2627
{"spark": "420"}
2728
spark-rapids-shim-json-lines ***/
29+
2830
package org.apache.spark.sql.tests.datagen
2931

3032
import org.apache.spark.sql.Column

docs/design/rapids_shuffle_manager_v2_phase1_design.md

Lines changed: 42 additions & 35 deletions
Large diffs are not rendered by default.

docs/download.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ The plugin is designed to work on NVIDIA Volta, Turing, Ampere, Ada Lovelace, Ho
4444
Apache Spark 3.3.0, 3.3.1, 3.3.2, 3.3.3, 3.3.4
4545
Apache Spark 3.4.0, 3.4.1, 3.4.2, 3.4.3, 3.4.4
4646
Apache Spark 3.5.0, 3.5.1, 3.5.2, 3.5.3, 3.5.4, 3.5.5, 3.5.6, 3.5.7, 3.5.8
47-
Apache Spark 4.0.0, 4.0.1, 4.0.2, 4.0.3
47+
Apache Spark 4.0.0, 4.0.1, 4.0.2, 4.0.3, 4.0.4
4848
Apache Spark 4.1.1
4949
Scala 2.12: Spark 3.3.0 through 3.5.8
50-
Scala 2.13: Spark 3.5.0 through 3.5.8, and Spark 4.0.0, 4.0.1, 4.0.2, 4.0.3, and 4.1.1
50+
Scala 2.13: Spark 3.5.0 through 3.5.8, and Spark 4.0.0, 4.0.1, 4.0.2, 4.0.3, 4.0.4, and 4.1.1
5151

5252
Supported Databricks runtime versions for Azure and AWS:
5353
Databricks 13.3 ML LTS (GPU, Scala 2.12, Spark 3.4.1)

iceberg/iceberg-1-10-x/src/main/spark400/java/com/nvidia/spark/rapids/iceberg/GpuInternalRow.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
{"spark": "401"}
1919
{"spark": "402"}
2020
{"spark": "403"}
21+
{"spark": "404"}
2122
spark-rapids-shim-json-lines ***/
2223

2324
package com.nvidia.spark.rapids.iceberg;

iceberg/iceberg-1-11-x/src/main/spark400/java/com/nvidia/spark/rapids/iceberg/GpuInternalRow.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
{"spark": "401"}
1919
{"spark": "402"}
2020
{"spark": "403"}
21+
{"spark": "404"}
2122
spark-rapids-shim-json-lines ***/
2223

2324
package com.nvidia.spark.rapids.iceberg;

iceberg/iceberg-1-11-x/src/main/spark402/scala/com/nvidia/spark/rapids/iceberg/iceberg111x/IcebergProviderImpl.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
/*** spark-rapids-shim-json-lines
1717
{"spark": "402"}
1818
{"spark": "403"}
19+
{"spark": "404"}
1920
spark-rapids-shim-json-lines ***/
2021

2122
package com.nvidia.spark.rapids.iceberg.iceberg111x

integration_tests/src/main/python/ast_test.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from asserts import assert_cpu_and_gpu_are_equal_collect_with_capture, assert_gpu_and_cpu_are_equal_collect
1818
from data_gen import *
1919
from marks import approximate_float, datagen_overrides, ignore_order, disable_ansi_mode
20-
from spark_session import with_cpu_session, is_spark_403, is_spark_412_or_later, \
20+
from spark_session import with_cpu_session, is_spark_403_or_404, is_spark_412_or_later, \
2121
is_spark_420_or_later
2222
import pyspark.sql.functions as f
2323

@@ -61,9 +61,9 @@
6161

6262
ast_boolean_descr = [(boolean_gen, True)]
6363
ast_double_descr = [(double_gen, True)]
64-
# AST is not expressive enough to support the ACOSH Spark emulation expression in Spark 4.0.3
65-
# and Spark 4.1.2+.
66-
ast_acosh_descr = [(double_gen, not (is_spark_403() or is_spark_412_or_later()))]
64+
# AST is not expressive enough to support the ACOSH Spark emulation expression in Spark 4.0.3,
65+
# Spark 4.0.4, and Spark 4.1.2+.
66+
ast_acosh_descr = [(double_gen, not (is_spark_403_or_404() or is_spark_412_or_later()))]
6767

6868
_project_ast_enabled_conf = {"spark.rapids.sql.projectAstEnabled": "true"}
6969

integration_tests/src/main/python/spark_session.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,12 @@ def is_spark_401_or_later():
267267
def is_spark_403():
268268
return spark_version() == "4.0.3"
269269

270+
def is_spark_404():
271+
return spark_version() == "4.0.4"
272+
273+
def is_spark_403_or_404():
274+
return is_spark_403() or is_spark_404()
275+
270276
def is_spark_411_or_later():
271277
return spark_version() >= "4.1.1"
272278

integration_tests/src/main/python/window_function_test.py

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import pyspark.sql.functions as f
2424
from spark_session import is_before_spark_320, is_databricks113_or_later, \
2525
is_databricks133_or_later, is_spark_350_or_later, spark_version, with_cpu_session, \
26-
is_spark_340_or_later, is_spark_420_or_later
26+
is_scala212, is_spark_340_or_later, is_spark_420_or_later
2727
import warnings
2828

2929
# mark this test as ci_1 for mvn verify sanity check in pre-merge CI
@@ -2377,8 +2377,25 @@ def do_it(spark):
23772377
@ignore_order(local=True)
23782378
@allow_non_gpu(*non_utc_allow)
23792379
def test_window_aggs_for_rows_collect_set():
2380+
data_gen = _gen_data_for_collect_set
2381+
if is_scala212():
2382+
# Scala 2.12 CPU window collect_set can retain both signed zeros, while the GPU and
2383+
# Scala 2.13 treat them as the same value. Exclude -0.0 from this Scala 2.12 test.
2384+
float_special_cases = [
2385+
FLOAT_MIN, FLOAT_MAX, 0.0, 1.0, -1.0,
2386+
float('inf'), float('-inf'), float('nan'), NEG_FLOAT_NAN_MAX_VALUE]
2387+
double_special_cases = [
2388+
DOUBLE_MIN, DOUBLE_MAX, 0.0, 1.0, -1.0,
2389+
float('inf'), float('-inf'), float('nan'), NEG_DOUBLE_NAN_MAX_VALUE]
2390+
collect_set_fp_gens = {
2391+
'c_float': RepeatSeqGen(FloatGen(special_cases=float_special_cases), length=15),
2392+
'c_double': RepeatSeqGen(DoubleGen(special_cases=double_special_cases), length=15)}
2393+
data_gen = [
2394+
(name, collect_set_fp_gens[name]) if name in collect_set_fp_gens else (name, gen)
2395+
for name, gen in data_gen]
2396+
23802397
assert_gpu_and_cpu_are_equal_sql(
2381-
lambda spark: gen_df(spark, _gen_data_for_collect_set),
2398+
lambda spark: gen_df(spark, data_gen),
23822399
"window_collect_table",
23832400
'''
23842401
select a, b,

integration_tests/src/test/spark400/scala/org/apache/spark/sql/rapids/shims/TrampolineUtilShim.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,14 @@
2020
{"spark": "401"}
2121
{"spark": "402"}
2222
{"spark": "403"}
23+
{"spark": "404"}
2324
{"spark": "411"}
2425
{"spark": "412"}
2526
{"spark": "413"}
2627
{"spark": "420"}
2728
spark-rapids-shim-json-lines ***/
2829

30+
2931
package org.apache.spark.sql.rapids.shims
3032

3133
import org.apache.spark.sql.classic.SparkSession

0 commit comments

Comments
 (0)