Skip to main content

spark-rapids-user-tools

User tools to help with the adoption, installation, execution, and tuning of the NVIDIA cuDF plugin for Apache Spark.

The wrapper improves end-user experience within the following dimensions:

  1. Qualification: Educate the CPU customer on the cost savings and acceleration potential of the cuDF plugin. The output shows a list of apps recommended for the cuDF plugin with estimated savings and speed-up.
  2. Tuning: Tune the cuDF plugin configs based on initial job run leveraging Spark event logs. The output shows recommended per-app cuDF plugin configuration settings.
  3. Diagnostics: Run diagnostic functions to validate the Dataproc environment with the cuDF plugin to make sure the cluster is healthy and ready for Spark jobs.
  4. Prediction: Predict the speedup of running a Spark application with the cuDF plugin on GPUs.
  5. Train: Train a model to predict the performance of a Spark job with the cuDF plugin. The output shows the model file that can be used to predict the performance of a Spark job.

Getting started

Set up a Python environment with a version between 3.10 and 3.12

  1. Run the project in a virtual environment. Note, .venv is the directory created to put the virtual env in, so modify if you want a different location.

    $ python -m venv .venv
    $ source .venv/bin/activate
    
  2. Install spark-rapids-user-tools

    • Using released package.

      $ pip install spark-rapids-user-tools
      
    • Install from source.

      $ pip install -e .
      

      Note:

      • To install dependencies required for running unit tests, use the optional test parameter: pip install -e '.[test]'
      • To install dependencies required for QualX training, use the optional qualx parameter pip install -e '.[qualx]'
      • To install all the required dependencies, use the optional dev-env parameter: pip install -e '.[dev-env]'
    • Using wheel package built from the repo (see the build steps below).

      $ pip install <wheel-file>
      
  3. Make sure to install CSP SDK if you plan to run the tool wrapper.

Building from source

Set up a Python environment similar to the steps above.

  1. Create a virtual environment. Note, .venv is the directory created to put the virtual env in, so modify if you want a different location.

    $ python -m venv .venv
    $ source .venv/bin/activate
    
  2. Run the provided build script to compile the project.

    $> ./build.sh
    
  3. Fat Mode: Similar to fat jar in Java, this mode solves the problem when web access is not available to download resources having Url-paths (http/https). The command builds the tools jar file and downloads the necessary dependencies and packages them with the source code into a single 'wheel' file.

    $> ./build.sh fat
    

Logging Configuration

The core tools project uses Log4j for logging. Default log level is set to INFO. You can configure logging settings in the log4j.properties file located in the src/spark_rapids_pytools/resources/dev/ directory. This is applicable when you clone the project and build it from source. To change the logging level, modify the log4j.rootLogger property. Possible levels include DEBUG, INFO, WARN, ERROR.

Usage and supported platforms

Please refer to spark-rapids-user-tools guide for details on how to use the tools and the platform.

Please refer to qualx guide for details on how to use the QualX tool for prediction and training.

What's new

Please refer to CHANGELOG.md for our latest changes.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file spark_rapids_user_tools-26.8.1-469_093fb2a9-py3-none-any.whl.

File metadata

File hashes

Hashes for spark_rapids_user_tools-26.8.1-469_093fb2a9-py3-none-any.whl
Algorithm Hash digest
SHA256 a9c705daa01b353ef444e42af687c5df9105a003c9c2b0800d97b8c28744e7a1
MD5 03799c61c1a735a8f586fcf9e6668931
BLAKE2b-256 82526482d3feab71c172d1941c8c4835afc2e64a5d35f71f4cb6ec903c29d528

See more details on using hashes here.

Release history Release notifications | RSS feed

26.8.2

1 file

This release

26.8.1 This release

1 file

26.8.0

1 file

26.6.4

1 file

26.6.3

1 file

26.6.2

1 file

26.6.1

1 file

26.6.0

1 file

26.4.7

1 file

26.4.6

1 file

26.4.5

1 file

26.4.4

1 file

26.4.3

1 file

26.4.2

1 file

26.4.1

1 file

26.4.0

1 file

26.2.6

1 file

26.2.5

1 file

26.2.4

1 file

26.2.3

1 file

26.2.2

1 file

26.2.1

1 file

26.2.0

1 file

25.12.7

1 file

25.12.6

1 file

25.12.5

1 file

25.12.4

1 file

25.12.3

1 file

25.12.2

1 file

25.12.1

1 file

25.12.0

1 file

25.10.9

1 file

25.10.8

1 file

25.10.7

1 file

25.10.6

1 file

25.10.5

1 file

25.10.4

1 file

25.10.3

1 file

25.10.2

1 file

25.10.1

1 file

25.10.0

1 file

25.8.6

1 file

25.8.5

1 file

25.8.3

1 file

25.8.2

1 file

25.8.1

1 file

25.8.0

1 file

25.6.3

1 file

25.6.2

1 file

25.6.1

1 file

25.6.0

1 file

25.4.4

1 file

25.4.3

1 file

25.4.2

1 file

25.4.1

1 file

25.4.0

1 file

25.2.3

1 file

25.2.2

1 file

25.2.1

1 file

25.2.0

1 file

24.12.4

1 file

24.12.3

1 file

24.12.2

1 file

24.12.1

1 file

24.12.0

1 file

24.10.3

2 files

24.10.2

1 file

24.10.1

1 file

24.10.0

1 file

24.8.2

1 file

24.8.1

1 file

24.8.0

1 file

24.6.1

1 file

24.6.0

1 file

24.4.0

1 file

24.2.4

1 file

24.2.3

1 file

24.2.2

1 file

24.2.1

1 file

24.2.0

1 file

23.12.3

1 file

23.12.2

1 file

23.12.1

1 file

23.12.0

1 file

23.10.1

1 file

23.10.0

1 file

23.8.2

1 file

23.8.1

1 file

23.8.0

1 file

23.6.4

1 file

23.6.3

1 file

23.6.2

1 file

23.6.1

1 file

23.6.0

1 file

23.4.1

1 file

23.4.0

1 file

23.2.3

1 file

23.2.1

1 file

23.2.0

1 file

22.12.0

1 file

22.10.2

1 file

22.10.1

1 file

11.22.32

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page