-
Notifications
You must be signed in to change notification settings - Fork 240
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
Update docs for 21.08 release #3080
Changes from all commits
0386f7d
758bd01
2921966
9d085fe
eebda32
92e4914
dc7d303
46c7e90
c3290d3
4a54003
d4b3ef5
1264395
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -1 +1 @@ | ||||||
{"cells":[{"cell_type":"code","source":["dbutils.fs.mkdirs(\"dbfs:/databricks/init_scripts/\")\n \ndbutils.fs.put(\"/databricks/init_scripts/init.sh\",\"\"\"\n#!/bin/bash\nsudo wget -O /databricks/jars/rapids-4-spark_2.12-21.06.1.jar https://repo1.maven.org/maven2/com/nvidia/rapids-4-spark_2.12/21.06.1/rapids-4-spark_2.12-21.06.1.jar\nsudo wget -O /databricks/jars/cudf-21.06.1-cuda11.jar https://repo1.maven.org/maven2/ai/rapids/cudf/21.06.1/cudf-21.06.1-cuda11.jar\n\nsudo wget -O /etc/apt/preferences.d/cuda-repository-pin-600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin\nsudo wget -O ~/cuda-repo-ubuntu1804-11-0-local_11.0.3-450.51.06-1_amd64.deb https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda-repo-ubuntu1804-11-0-local_11.0.3-450.51.06-1_amd64.deb\nsudo dpkg -i ~/cuda-repo-ubuntu1804-11-0-local_11.0.3-450.51.06-1_amd64.deb\nsudo apt-key add /var/cuda-repo-ubuntu1804-11-0-local/7fa2af80.pub\nsudo apt-get update\nsudo apt -y install cuda-toolkit-11-0\"\"\", True)"],"metadata":{},"outputs":[],"execution_count":1},{"cell_type":"code","source":["%sh\ncd ../../dbfs/databricks/init_scripts\npwd\nls -ltr\ncat init.sh"],"metadata":{},"outputs":[],"execution_count":2},{"cell_type":"code","source":[""],"metadata":{},"outputs":[],"execution_count":3}],"metadata":{"name":"generate-init-script","notebookId":2645746662301564},"nbformat":4,"nbformat_minor":0} | ||||||
{"cells":[{"cell_type":"code","source":["dbutils.fs.mkdirs(\"dbfs:/databricks/init_scripts/\")\n \ndbutils.fs.put(\"/databricks/init_scripts/init.sh\",\"\"\"\n#!/bin/bash\nsudo wget -O /databricks/jars/rapids-4-spark_2.12-21.08.0.jar https://repo1.maven.org/maven2/com/nvidia/rapids-4-spark_2.12/21.08.0/rapids-4-spark_2.12-21.08.0.jar\nsudo wget -O /databricks/jars/cudf-21.08.0-cuda11.jar https://repo1.maven.org/maven2/ai/rapids/cudf/21.08.0/cudf-21.08.0-cuda11.jar\n\nsudo wget -O /etc/apt/preferences.d/cuda-repository-pin-600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin\nsudo wget -O ~/cuda-repo-ubuntu1804-11-0-local_11.0.3-450.51.06-1_amd64.deb https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda-repo-ubuntu1804-11-0-local_11.0.3-450.51.06-1_amd64.deb\nsudo dpkg -i ~/cuda-repo-ubuntu1804-11-0-local_11.0.3-450.51.06-1_amd64.deb\nsudo apt-key add /var/cuda-repo-ubuntu1804-11-0-local/7fa2af80.pub\nsudo apt-get update\nsudo apt -y install cuda-toolkit-11-0\"\"\", True)"],"metadata":{},"outputs":[],"execution_count":1},{"cell_type":"code","source":["%sh\ncd ../../dbfs/databricks/init_scripts\npwd\nls -ltr\ncat init.sh"],"metadata":{},"outputs":[],"execution_count":2},{"cell_type":"code","source":[""],"metadata":{},"outputs":[],"execution_count":3}],"metadata":{"name":"generate-init-script","notebookId":2645746662301564},"nbformat":4,"nbformat_minor":0} | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -1 +1 @@ | ||||||
{"cells":[{"cell_type":"code","source":["dbutils.fs.mkdirs(\"dbfs:/databricks/init_scripts/\")\n \ndbutils.fs.put(\"/databricks/init_scripts/init.sh\",\"\"\"\n#!/bin/bash\nsudo wget -O /databricks/jars/rapids-4-spark_2.12-21.06.1.jar https://repo1.maven.org/maven2/com/nvidia/rapids-4-spark_2.12/21.06.1/rapids-4-spark_2.12-21.06.1.jar\nsudo wget -O /databricks/jars/cudf-21.06.1-cuda11.jar https://repo1.maven.org/maven2/ai/rapids/cudf/21.06.1/cudf-21.06.1-cuda11.jar\"\"\", True)"],"metadata":{},"outputs":[],"execution_count":1},{"cell_type":"code","source":["%sh\ncd ../../dbfs/databricks/init_scripts\npwd\nls -ltr\ncat init.sh"],"metadata":{},"outputs":[],"execution_count":2},{"cell_type":"code","source":[""],"metadata":{},"outputs":[],"execution_count":3}],"metadata":{"name":"generate-init-script","notebookId":2645746662301564},"nbformat":4,"nbformat_minor":0} | ||||||
{"cells":[{"cell_type":"code","source":["dbutils.fs.mkdirs(\"dbfs:/databricks/init_scripts/\")\n \ndbutils.fs.put(\"/databricks/init_scripts/init.sh\",\"\"\"\n#!/bin/bash\nsudo wget -O /databricks/jars/rapids-4-spark_2.12-21.08.0.jar https://repo1.maven.org/maven2/com/nvidia/rapids-4-spark_2.12/21.08.0/rapids-4-spark_2.12-21.08.0.jar\nsudo wget -O /databricks/jars/cudf-21.08.0-cuda11.jar https://repo1.maven.org/maven2/ai/rapids/cudf/21.08.0/cudf-21.08.0-cuda11.jar\"\"\", True)"],"metadata":{},"outputs":[],"execution_count":1},{"cell_type":"code","source":["%sh\ncd ../../dbfs/databricks/init_scripts\npwd\nls -ltr\ncat init.sh"],"metadata":{},"outputs":[],"execution_count":2},{"cell_type":"code","source":[""],"metadata":{},"outputs":[],"execution_count":3}],"metadata":{"name":"generate-init-script","notebookId":2645746662301564},"nbformat":4,"nbformat_minor":0} | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -18,6 +18,61 @@ cuDF jar, that is either preinstalled in the Spark classpath on all nodes or sub | |||||
that uses the RAPIDS Accelerator For Apache Spark. See the [getting-started | ||||||
guide](https://nvidia.github.io/spark-rapids/Getting-Started/) for more details. | ||||||
|
||||||
## Release v21.08.0 | ||||||
Hardware Requirements: | ||||||
|
||||||
The plugin is tested on the following architectures: | ||||||
|
||||||
GPU Architecture: NVIDIA V100, T4 and A10/A30/A100 GPUs | ||||||
|
||||||
Software Requirements: | ||||||
|
||||||
OS: Ubuntu 18.04, Ubuntu 20.04 or CentOS 7, CentOS 8 | ||||||
|
||||||
CUDA & Nvidia Drivers*: 11.0-11.4 & v450.80.02+ | ||||||
|
||||||
Apache Spark 3.0.1, 3.0.2, 3.0.3, 3.1.1, 3.1.2, Cloudera CDP 7.1.6, 7.1.7, Databricks 7.3 ML LTS or 8.2 ML Runtime, and GCP Dataproc 2.0 | ||||||
|
||||||
Apache Hadoop 2.10+ or 3.1.1+ (3.1.1 for nvidia-docker version 2) | ||||||
|
||||||
Python 3.6+, Scala 2.12, Java 8 | ||||||
|
||||||
*Some hardware may have a minimum driver version greater than v450.80.02+. Check the GPU spec sheet | ||||||
for your hardware's minimum driver version. | ||||||
|
||||||
### Download v21.08.0 | ||||||
* Download the [RAPIDS | ||||||
Accelerator for Apache Spark 21.08.0 jar](https://repo1.maven.org/maven2/com/nvidia/rapids-4-spark_2.12/21.08.0/rapids-4-spark_2.12-21.08.0.jar) | ||||||
* Download the [RAPIDS cuDF 21.08.0 jar](https://repo1.maven.org/maven2/ai/rapids/cudf/21.08.0/cudf-21.08.0-cuda11.jar) | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
This package is built against CUDA 11.2 and has [CUDA forward | ||||||
compatibility](https://docs.nvidia.com/deploy/cuda-compatibility/index.html) enabled. It is tested | ||||||
on V100, T4, A30 and A100 GPUs with CUDA 11.0-11.4. For those using other types of GPUs which | ||||||
do not have CUDA forward compatibility (for example, GeForce), CUDA 11.2 is required. Users will | ||||||
need to ensure the minimum driver (450.80.02) and CUDA toolkit are installed on each Spark node. | ||||||
|
||||||
### Release Notes | ||||||
New functionality and performance improvements for this release include: | ||||||
* Handling data sets that spill out of GPU memory for group by and windowing operations | ||||||
* Running window rank and dense rank operations on the GPU | ||||||
* Support for the `LEGACY` timestamp | ||||||
* Unioning of nested structs | ||||||
* Adoption of UCX 1.11 for improved error handling for RAPIDS Spark Accelerated Shuffle | ||||||
* Ability to read cached data from the GPU on the supported Databricks runtimes | ||||||
* Enabling Parquet writing of array data types from the GPU | ||||||
* Optimized reads for small files for ORC | ||||||
* Spark Qualification and Profiling Tools | ||||||
* Additional filtering capabilities | ||||||
* Reporting on data types | ||||||
* Reporting on read data formats | ||||||
* Ability to run the qualification tool on Spark 2.x logs | ||||||
* Ability to run the tool on Apache Spark 3.x, AWS EMR 6.3.0, Dataproc 2.0, Microsoft Azure, and | ||||||
Databricks 7.3 and 8.2 logs | ||||||
* Improved qualification tool performance | ||||||
|
||||||
For a detailed list of changes, please refer to the | ||||||
[CHANGELOG](https://github.com/NVIDIA/spark-rapids/blob/main/CHANGELOG.md). | ||||||
sameerz marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
|
||||||
## Release v21.06.1 | ||||||
This is a patch release to address an issue with the plugin in the Databricks 7.3 ML LTS runtime. | ||||||
|
||||||
|
@@ -99,7 +154,7 @@ need to ensure the minimum driver (450.80.02) and CUDA toolkit are installed on | |||||
|
||||||
### Release Notes | ||||||
New functionality for this release includes: | ||||||
* Support for running on Cloudera CDP 7.1.7 and Databricks 8.2 ML | ||||||
* Support for running on Cloudera CDP 7.1.6, CDP 7.1.7 and Databricks 8.2 ML | ||||||
* New functionality related to arrays: | ||||||
* Concatenation of array columns | ||||||
* Casting arrays of floats to arrays of doubles | ||||||
|
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -50,8 +50,8 @@ COPY spark-3.0.2-bin-hadoop3.2/examples /opt/spark/examples | |||||
COPY spark-3.0.2-bin-hadoop3.2/kubernetes/tests /opt/spark/tests | ||||||
COPY spark-3.0.2-bin-hadoop3.2/data /opt/spark/data | ||||||
|
||||||
COPY cudf-21.08.0-SNAPSHOT-cuda11.jar /opt/sparkRapidsPlugin | ||||||
COPY rapids-4-spark_2.12-21.08.0-SNAPSHOT.jar /opt/sparkRapidsPlugin | ||||||
COPY cudf-21.08.0-cuda11.jar /opt/sparkRapidsPlugin | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
COPY rapids-4-spark_2.12-21.08.0.jar /opt/sparkRapidsPlugin | ||||||
COPY getGpusResources.sh /opt/sparkRapidsPlugin | ||||||
|
||||||
RUN mkdir /opt/spark/python | ||||||
|
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -55,17 +55,17 @@ CUDA and will not run on other versions. The jars use a maven classifier to keep | |||||
- CUDA 11.0/11.1/11.2 => classifier cuda11 | ||||||
|
||||||
For example, here is a sample version of the jars and cudf with CUDA 11.0 support: | ||||||
- cudf-21.08.0-SNAPSHOT-cuda11.jar | ||||||
- rapids-4-spark_2.12-21.08.0-SNAPSHOT.jar | ||||||
- cudf-21.08.0-cuda11.jar | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
- rapids-4-spark_2.12-21.08.0.jar | ||||||
jar that your version of the accelerator depends on. | ||||||
|
||||||
|
||||||
For simplicity export the location to these jars. This example assumes the sample jars above have | ||||||
been placed in the `/opt/sparkRapidsPlugin` directory: | ||||||
```shell | ||||||
export SPARK_RAPIDS_DIR=/opt/sparkRapidsPlugin | ||||||
export SPARK_CUDF_JAR=${SPARK_RAPIDS_DIR}/cudf-21.08.0-SNAPSHOT-cuda11.jar | ||||||
export SPARK_RAPIDS_PLUGIN_JAR=${SPARK_RAPIDS_DIR}/rapids-4-spark_2.12-21.08.0-SNAPSHOT.jar | ||||||
export SPARK_CUDF_JAR=${SPARK_RAPIDS_DIR}/cudf-21.08.0-cuda11.jar | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
export SPARK_RAPIDS_PLUGIN_JAR=${SPARK_RAPIDS_DIR}/rapids-4-spark_2.12-21.08.0.jar | ||||||
``` | ||||||
|
||||||
## Install the GPU Discovery Script | ||||||
|
@@ -313,6 +313,11 @@ and application. | |||||
of the job will run on the GPU then often you can run with less executor heap memory than would | ||||||
be needed for the corresponding Spark job on the CPU. | ||||||
|
||||||
In case of a "com.esotericsoftware.kryo.KryoException: Buffer overflow" error it is advisable to | ||||||
increase the | ||||||
[`spark.kryoserializer.buffer.max`](https://spark.apache.org/docs/latest/configuration.html#compression-and-serialization) | ||||||
setting to a value higher than the default. | ||||||
|
||||||
### Example Command Running on YARN | ||||||
```shell | ||||||
$SPARK_HOME/bin/spark-shell --master yarn \ | ||||||
|
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -134,7 +134,7 @@ individually, so you don't risk running unit tests along with the integration te | |||||
http://www.scalatest.org/user_guide/using_the_scalatest_shell | ||||||
|
||||||
```shell | ||||||
spark-shell --jars rapids-4-spark-tests_2.12-21.08.0-SNAPSHOT-tests.jar,rapids-4-spark-udf-examples_2.12-21.08.0-SNAPSHOT,rapids-4-spark-integration-tests_2.12-21.08.0-SNAPSHOT-tests.jar,scalatest_2.12-3.0.5.jar,scalactic_2.12-3.0.5.jar | ||||||
spark-shell --jars rapids-4-spark-tests_2.12-21.08.0-tests.jar,rapids-4-spark-udf-examples_2.12-21.08.0,rapids-4-spark-integration-tests_2.12-21.08.0-tests.jar,scalatest_2.12-3.0.5.jar,scalactic_2.12-3.0.5.jar | ||||||
``` | ||||||
|
||||||
First you import the `scalatest_shell` and tell the tests where they can find the test files you | ||||||
|
@@ -157,7 +157,7 @@ If you just want to verify the SQL replacement is working you will need to add t | |||||
example assumes CUDA 11.0 is being used. | ||||||
|
||||||
``` | ||||||
$SPARK_HOME/bin/spark-submit --jars "rapids-4-spark_2.12-21.08.0-SNAPSHOT.jar,rapids-4-spark-udf-examples_2.12-21.08.0-SNAPSHOT.jar,cudf-21.08.0-SNAPSHOT-cuda11.jar" ./runtests.py | ||||||
$SPARK_HOME/bin/spark-submit --jars "rapids-4-spark_2.12-21.08.0.jar,rapids-4-spark-udf-examples_2.12-21.08.0.jar,cudf-21.08.0-cuda11.jar" ./runtests.py | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
``` | ||||||
|
||||||
You don't have to enable the plugin for this to work, the test framework will do that for you. | ||||||
|
@@ -256,7 +256,7 @@ To run cudf_udf tests, need following configuration changes: | |||||
As an example, here is the `spark-submit` command with the cudf_udf parameter on CUDA 11.0: | ||||||
|
||||||
``` | ||||||
$SPARK_HOME/bin/spark-submit --jars "rapids-4-spark_2.12-21.08.0-SNAPSHOT.jar,rapids-4-spark-udf-examples_2.12-21.08.0-SNAPSHOT.jar,cudf-21.08.0-SNAPSHOT-cuda11.jar,rapids-4-spark-tests_2.12-21.08.0-SNAPSHOT.jar" --conf spark.rapids.memory.gpu.allocFraction=0.3 --conf spark.rapids.python.memory.gpu.allocFraction=0.3 --conf spark.rapids.python.concurrentPythonWorkers=2 --py-files "rapids-4-spark_2.12-21.08.0-SNAPSHOT.jar" --conf spark.executorEnv.PYTHONPATH="rapids-4-spark_2.12-21.08.0-SNAPSHOT.jar" ./runtests.py --cudf_udf | ||||||
$SPARK_HOME/bin/spark-submit --jars "rapids-4-spark_2.12-21.08.0.jar,rapids-4-spark-udf-examples_2.12-21.08.0.jar,cudf-21.08.0-cuda11.jar,rapids-4-spark-tests_2.12-21.08.0.jar" --conf spark.rapids.memory.gpu.allocFraction=0.3 --conf spark.rapids.python.memory.gpu.allocFraction=0.3 --conf spark.rapids.python.concurrentPythonWorkers=2 --py-files "rapids-4-spark_2.12-21.08.0.jar" --conf spark.executorEnv.PYTHONPATH="rapids-4-spark_2.12-21.08.0.jar" ./runtests.py --cudf_udf | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
``` | ||||||
|
||||||
## Writing tests | ||||||
|
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -1280,7 +1280,7 @@ object RapidsConf { | |||||
|On startup use: `--conf [conf key]=[conf value]`. For example: | ||||||
| | ||||||
|``` | ||||||
|${SPARK_HOME}/bin/spark --jars 'rapids-4-spark_2.12-21.08.0-SNAPSHOT.jar,cudf-21.08.0-SNAPSHOT-cuda11.jar' \ | ||||||
|${SPARK_HOME}/bin/spark --jars 'rapids-4-spark_2.12-21.08.0.jar,cudf-21.08.0-cuda11.jar' \ | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|--conf spark.plugins=com.nvidia.spark.SQLPlugin \ | ||||||
|--conf spark.rapids.sql.incompatibleOps.enabled=true | ||||||
|``` | ||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.