Package

com.nvidia.spark

rapids

Permalink

package rapids

Visibility
  1. Public
  2. All

Type Members

  1. abstract class AggExprMeta[INPUT <: AggregateFunction] extends ExprMeta[INPUT]

    Permalink

    Base class for metadata around AggregateFunction.

  2. abstract class BaseExprMeta[INPUT <: Expression] extends RapidsMeta[INPUT, Expression]

    Permalink

    Base class for metadata around Expression.

  3. abstract class BinaryAstExprMeta[INPUT <: BinaryExpression] extends BinaryExprMeta[INPUT]

    Permalink

    Base metadata class for binary expressions that support conversion to AST

  4. abstract class BinaryExprMeta[INPUT <: BinaryExpression] extends ExprMeta[INPUT]

    Permalink

    Base class for metadata around BinaryExpression.

  5. class CastChecks extends ExprChecks

    Permalink
  6. final class CastExprMeta[INPUT <: Cast] extends UnaryExprMeta[INPUT]

    Permalink

    Meta-data for cast and ansi_cast.

  7. abstract class ComplexTypeMergingExprMeta[INPUT <: ComplexTypeMergingExpression] extends ExprMeta[INPUT]

    Permalink

    Base class for metadata around ComplexTypeMergingExpression.

  8. class ConfBuilder extends AnyRef

    Permalink
  9. abstract class ConfEntry[T] extends AnyRef

    Permalink
  10. class ConfEntryWithDefault[T] extends ConfEntry[T]

    Permalink
  11. case class ContextChecks(outputCheck: TypeSig, sparkOutputSig: TypeSig, paramCheck: Seq[ParamCheck] = Seq.empty, repeatingParamCheck: Option[RepeatingParamCheck] = None) extends TypeChecks[Map[String, SupportLevel]] with Product with Serializable

    Permalink

    Checks an expression that have input parameters and a single output.

    Checks an expression that have input parameters and a single output. This is intended to be given for a specific ExpressionContext. If your expression does not meet this pattern you may need to create a custom ExprChecks instance.

  12. final class CreateDataSourceTableAsSelectCommandMeta extends DataWritingCommandMeta[CreateDataSourceTableAsSelectCommand]

    Permalink
  13. class CudfRegexTranspiler extends AnyRef

    Permalink

    Transpile Java/Spark regular expression to a format that cuDF supports, or throw an exception if this is not possible.

  14. trait DataFromReplacementRule extends AnyRef

    Permalink
  15. class DataTypeMeta extends AnyRef

    Permalink

    The metadata around DataType, which records the original data type, the desired data type for GPU overrides, and the reason of potential conversion.

    The metadata around DataType, which records the original data type, the desired data type for GPU overrides, and the reason of potential conversion. The metadata is to ensure TypeChecks tagging the actual data types for GPU runtime, since data types of GPU overrides may slightly differ from original CPU counterparts.

  16. abstract class DataWritingCommandMeta[INPUT <: DataWritingCommand] extends RapidsMeta[INPUT, DataWritingCommand]

    Permalink

    Base class for metadata around DataWritingCommand.

  17. class DataWritingCommandRule[INPUT <: DataWritingCommand] extends ReplacementRule[INPUT, DataWritingCommand, DataWritingCommandMeta[INPUT]]

    Permalink

    Holds everything that is needed to replace a DataWritingCommand with a GPU enabled version.

  18. final class DoNotReplaceOrWarnSparkPlanMeta[INPUT <: SparkPlan] extends SparkPlanMeta[INPUT]

    Permalink

    Metadata for SparkPlan that should not be replaced or have any kind of warning for

  19. class ExecChecks extends TypeChecks[Map[String, SupportLevel]]

    Permalink

    Checks the input and output types supported by a SparkPlan node.

    Checks the input and output types supported by a SparkPlan node. We don't currently separate input checks from output checks. We can add this in if something needs it.

    The namedChecks map can be used to provide checks for specific groups of expressions.

  20. class ExecRule[INPUT <: SparkPlan] extends ReplacementRule[INPUT, SparkPlan, SparkPlanMeta[INPUT]]

    Permalink

    Holds everything that is needed to replace a SparkPlan with a GPU enabled version.

  21. trait ExplainPlanBase extends AnyRef

    Permalink
  22. abstract class ExprChecks extends TypeChecks[Map[ExpressionContext, Map[String, SupportLevel]]]

    Permalink

    Base class all Expression checks must follow.

  23. case class ExprChecksImpl(contexts: Map[ExpressionContext, ContextChecks]) extends ExprChecks with Product with Serializable

    Permalink
  24. abstract class ExprMeta[INPUT <: Expression] extends BaseExprMeta[INPUT]

    Permalink
  25. class ExprRule[INPUT <: Expression] extends ReplacementRule[INPUT, Expression, BaseExprMeta[INPUT]]

    Permalink

    Holds everything that is needed to replace an Expression with a GPU enabled version.

  26. sealed abstract class ExpressionContext extends AnyRef

    Permalink
  27. class FileFormatChecks extends TypeChecks[SupportLevel]

    Permalink

    Checks for either a read or a write of a given file format.

  28. sealed trait FileFormatOp extends AnyRef

    Permalink
  29. sealed trait FileFormatType extends AnyRef

    Permalink
  30. abstract class GeneratorExprMeta[INPUT <: Generator] extends ExprMeta[INPUT]

    Permalink
  31. abstract class GpuBaseWindowExecMeta[WindowExecType <: SparkPlan] extends SparkPlanMeta[WindowExecType] with Logging

    Permalink

    Base class for GPU Execs that implement window functions.

    Base class for GPU Execs that implement window functions. This abstracts the method by which the window function's input expressions, partition specs, order-by specs, etc. are extracted from the specific WindowExecType.

    WindowExecType

    The Exec class that implements window functions (E.g. o.a.s.sql.execution.window.WindowExec.)

  32. abstract class GpuBroadcastJoinMeta[INPUT <: SparkPlan] extends SparkPlanMeta[INPUT]

    Permalink
  33. class GpuExpandExecMeta extends SparkPlanMeta[ExpandExec]

    Permalink
  34. class GpuGenerateExecSparkPlanMeta extends SparkPlanMeta[GenerateExec]

    Permalink
  35. class GpuHashAggregateMeta extends SparkPlanMeta[HashAggregateExec]

    Permalink
  36. trait GpuOverridesListener extends AnyRef

    Permalink
  37. class GpuProjectExecMeta extends SparkPlanMeta[ProjectExec] with Logging

    Permalink
  38. class GpuSampleExecMeta extends SparkPlanMeta[SampleExec] with Logging

    Permalink
  39. class GpuSortAggregateExecMeta extends SparkPlanMeta[SortAggregateExec]

    Permalink
  40. class GpuSortMeta extends SparkPlanMeta[SortExec]

    Permalink
  41. class GpuWindowExecMeta extends GpuBaseWindowExecMeta[WindowExec]

    Permalink

    Specialization of GpuBaseWindowExecMeta for org.apache.spark.sql.window.WindowExec.

    Specialization of GpuBaseWindowExecMeta for org.apache.spark.sql.window.WindowExec. This class implements methods to extract the window-expressions, partition columns, order-by columns, etc. from WindowExec.

  42. abstract class ImperativeAggExprMeta[INPUT <: ImperativeAggregate] extends AggExprMeta[INPUT]

    Permalink

    Base class for metadata around ImperativeAggregate.

  43. case class InputCheck(cudf: TypeSig, spark: TypeSig, notes: List[String] = List.empty) extends Product with Serializable

    Permalink

    Checks a set of named inputs to an SparkPlan node against a TypeSig

  44. final class InsertIntoHadoopFsRelationCommandMeta extends DataWritingCommandMeta[InsertIntoHadoopFsRelationCommand]

    Permalink
  45. class LiteralExprMeta extends ExprMeta[Literal]

    Permalink
  46. final class NoRuleDataFromReplacementRule extends DataFromReplacementRule

    Permalink

    A version of DataFromReplacementRule that is used when no replacement rule can be found.

  47. sealed abstract class Optimization extends AnyRef

    Permalink
  48. class OptionalConfEntry[T] extends ConfEntry[Option[T]]

    Permalink
  49. case class ParamCheck(name: String, cudf: TypeSig, spark: TypeSig) extends Product with Serializable

    Permalink

    Checks a single parameter by position against a TypeSig

  50. abstract class PartChecks extends TypeChecks[Map[String, SupportLevel]]

    Permalink

    Base class all Partition checks must follow

  51. case class PartChecksImpl(paramCheck: Seq[ParamCheck] = Seq.empty, repeatingParamCheck: Option[RepeatingParamCheck] = None) extends PartChecks with Product with Serializable

    Permalink
  52. abstract class PartMeta[INPUT <: Partitioning] extends RapidsMeta[INPUT, Partitioning]

    Permalink

    Base class for metadata around Partitioning.

  53. class PartRule[INPUT <: Partitioning] extends ReplacementRule[INPUT, Partitioning, PartMeta[INPUT]]

    Permalink

    Holds everything that is needed to replace a Partitioning with a GPU enabled version.

  54. class PartiallySupported extends SupportLevel

    Permalink

    The plugin partially supports this type.

  55. sealed case class QuantifierFixedLength(length: Int) extends RegexQuantifier with Product with Serializable

    Permalink
  56. sealed case class QuantifierVariableLength(minLength: Int, maxLength: Option[Int]) extends RegexQuantifier with Product with Serializable

    Permalink
  57. class RapidsConf extends Logging

    Permalink
  58. abstract class RapidsMeta[INPUT <: BASE, BASE] extends AnyRef

    Permalink

    Holds metadata about a stage in the physical plan that is separate from the plan itself.

    Holds metadata about a stage in the physical plan that is separate from the plan itself. This is helpful in deciding when to replace part of the plan with a GPU enabled version.

    INPUT

    the exact type of the class we are wrapping.

    BASE

    the generic base class for this type of stage, i.e. SparkPlan, Expression, etc.

  59. sealed trait RegexAST extends AnyRef

    Permalink
  60. sealed case class RegexChar(a: Char) extends RegexCharacterClassComponent with Product with Serializable

    Permalink
  61. sealed case class RegexCharacterClass(negated: Boolean, characters: ListBuffer[RegexCharacterClassComponent]) extends RegexAST with Product with Serializable

    Permalink
  62. sealed trait RegexCharacterClassComponent extends RegexAST

    Permalink
  63. sealed case class RegexCharacterRange(start: Char, end: Char) extends RegexCharacterClassComponent with Product with Serializable

    Permalink
  64. sealed case class RegexChoice(a: RegexAST, b: RegexAST) extends RegexAST with Product with Serializable

    Permalink
  65. sealed case class RegexEscaped(a: Char) extends RegexCharacterClassComponent with Product with Serializable

    Permalink
  66. sealed case class RegexGroup(capture: Boolean, term: RegexAST) extends RegexAST with Product with Serializable

    Permalink
  67. sealed case class RegexHexDigit(a: String) extends RegexCharacterClassComponent with Product with Serializable

    Permalink
  68. sealed case class RegexOctalChar(a: String) extends RegexCharacterClassComponent with Product with Serializable

    Permalink
  69. class RegexParser extends AnyRef

    Permalink

    Regular expression parser based on a Pratt Parser design.

    Regular expression parser based on a Pratt Parser design.

    The goal of this parser is to build a minimal AST that allows us to validate that we can support the expression on the GPU. The goal is not to parse with the level of detail that would be required if we were building an evaluation engine. For example, operator precedence is largely ignored but could be added if we need it later.

    The Java and cuDF regular expression documentation has been used as a reference:

    Java regex: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html cuDF regex: https://docs.rapids.ai/api/libcudf/stable/md_regex.html

    The following blog posts provide some background on Pratt Parsers and parsing regex.

    - https://journal.stuffwithstuff.com/2011/03/19/pratt-parsers-expression-parsing-made-easy/ - https://matt.might.net/articles/parsing-regex-with-recursive-descent/

  70. sealed trait RegexQuantifier extends RegexAST

    Permalink
  71. sealed case class RegexRepetition(a: RegexAST, quantifier: RegexQuantifier) extends RegexAST with Product with Serializable

    Permalink
  72. sealed case class RegexSequence(parts: ListBuffer[RegexAST]) extends RegexAST with Product with Serializable

    Permalink
  73. class RegexUnsupportedException extends SQLException

    Permalink
  74. case class RepeatingParamCheck(name: String, cudf: TypeSig, spark: TypeSig) extends Product with Serializable

    Permalink

    Checks the type signature for a parameter that repeats (Can only be used at the end of a list of position parameters)

  75. abstract class ReplacementRule[INPUT <: BASE, BASE, WRAP_TYPE <: RapidsMeta[INPUT, BASE]] extends DataFromReplacementRule

    Permalink

    Base class for all ReplacementRules

    Base class for all ReplacementRules

    INPUT

    the exact type of the class we are wrapping.

    BASE

    the generic base class for this type of stage, i.e. SparkPlan, Expression, etc.

    WRAP_TYPE

    base class that should be returned by doWrap.

  76. abstract class ReplicateRowsExprMeta[INPUT <: ReplicateRows] extends GeneratorExprMeta[INPUT]

    Permalink

    Base class for metadata around GeneratorExprMeta.

  77. final class RuleNotFoundDataWritingCommandMeta[INPUT <: DataWritingCommand] extends DataWritingCommandMeta[INPUT]

    Permalink

    Metadata for DataWritingCommand with no rule found

  78. final class RuleNotFoundExprMeta[INPUT <: Expression] extends ExprMeta[INPUT]

    Permalink

    Metadata for Expression with no rule found

  79. final class RuleNotFoundPartMeta[INPUT <: Partitioning] extends PartMeta[INPUT]

    Permalink

    Metadata for Partitioning with no rule found

  80. final class RuleNotFoundSparkPlanMeta[INPUT <: SparkPlan] extends SparkPlanMeta[INPUT]

    Permalink

    Metadata for SparkPlan with no rule found

  81. sealed case class SimpleQuantifier(ch: Char) extends RegexQuantifier with Product with Serializable

    Permalink
  82. sealed trait SortExecType extends Serializable

    Permalink
  83. abstract class SparkPlanMeta[INPUT <: SparkPlan] extends RapidsMeta[INPUT, SparkPlan]

    Permalink

    Base class for metadata around SparkPlan.

  84. abstract class String2TrimExpressionMeta[INPUT <: String2TrimExpression] extends ExprMeta[INPUT]

    Permalink
  85. sealed abstract class SupportLevel extends AnyRef

    Permalink

    The level of support that the plugin has for a given type.

    The level of support that the plugin has for a given type. Used for documentation generation.

  86. class Supported extends SupportLevel

    Permalink

    Both Spark and the plugin support this.

  87. abstract class TernaryExprMeta[INPUT <: TernaryExpression] extends ExprMeta[INPUT]

    Permalink

    Base class for metadata around TernaryExpression.

  88. abstract class TypeChecks[RET] extends AnyRef

    Permalink
  89. final class TypeSig extends AnyRef

    Permalink

    A type signature.

    A type signature. This is a bit limited in what it supports right now, but can express a set of base types and a separate set of types that can be nested under the base types (child types). It can also express if a particular base type has to be a literal or not.

  90. trait TypeSigUtilBase extends AnyRef

    Permalink

    Trait of TypeSigUtil for different spark versions

  91. class TypedConfBuilder[T] extends AnyRef

    Permalink
  92. abstract class TypedImperativeAggExprMeta[INPUT <: TypedImperativeAggregate[_]] extends ImperativeAggExprMeta[INPUT]

    Permalink

    Base class for metadata around TypedImperativeAggregate.

  93. abstract class UnaryAstExprMeta[INPUT <: UnaryExpression] extends UnaryExprMeta[INPUT]

    Permalink

    Base metadata class for unary expressions that support conversion to AST as well

  94. abstract class UnaryExprMeta[INPUT <: UnaryExpression] extends ExprMeta[INPUT]

    Permalink

    Base class for metadata around UnaryExpression.

Value Members

  1. object AggregateUtils

    Permalink
  2. object AstExprContext extends ExpressionContext

    Permalink

    This is a special context.

    This is a special context. All other contexts are determined by the Spark query in a generic way. AST support in many cases is an optimization and so it is tagged and checked after it is determined that this operation will run on the GPU. In other cases it is required. In those cases AST support is determined and used when tagging the metas to see if they will work on the GPU or not. This part is not done automatically.

  3. object CaseWhenCheck extends ExprChecks

    Permalink

    This is specific to CaseWhen, because it does not follow the typical parameter convention.

  4. object ConfHelper

    Permalink
  5. object CreateMapCheck extends ExprChecks

    Permalink
  6. object CreateNamedStructCheck extends ExprChecks

    Permalink

    A check for CreateNamedStruct.

    A check for CreateNamedStruct. The parameter values alternate between one type and another. If this pattern shows up again we can make this more generic at that point.

  7. object CsvFormatType extends FileFormatType

    Permalink
  8. object CudfTDigest

    Permalink
  9. object DataTypeMeta

    Permalink
  10. object DataTypeUtils

    Permalink
  11. object DateUtils

    Permalink

    Class for helper functions for Date

  12. object DecimalUtil

    Permalink
  13. object ExecChecks

    Permalink

    gives users an API to create ExecChecks.

  14. object ExplainPlan

    Permalink
  15. object ExprChecks

    Permalink
  16. object ExpressionContext

    Permalink
  17. object FileFormatChecks

    Permalink
  18. object FullSortSingleBatch extends SortExecType

    Permalink
  19. object GpuOrcScanBase

    Permalink
  20. object GpuOverrides extends Logging

    Permalink
  21. object GpuParquetFileFormat

    Permalink
  22. object GpuParquetScanBase

    Permalink
  23. object GpuReadCSVFileFormat

    Permalink
  24. object GpuReadOrcFileFormat

    Permalink
  25. object GpuReadParquetFileFormat

    Permalink
  26. object GpuUserDefinedFunction

    Permalink
  27. object GroupByAggExprContext extends ExpressionContext

    Permalink
  28. object InputFileBlockRule

    Permalink

    InputFileBlockRule is to prevent the SparkPlans [SparkPlan (with first input_file_xxx expression), FileScan) to run on GPU

    InputFileBlockRule is to prevent the SparkPlans [SparkPlan (with first input_file_xxx expression), FileScan) to run on GPU

    See https://github.com/NVIDIA/spark-rapids/issues/3333

  29. object JsonFormatType extends FileFormatType

    Permalink
  30. object NotApplicable extends SupportLevel

    Permalink

    N/A neither spark nor the plugin supports this.

  31. object NotSupported extends SupportLevel

    Permalink

    Spark supports this but the plugin does not.

  32. object OrcFormatType extends FileFormatType

    Permalink
  33. object OutOfCoreSort extends SortExecType

    Permalink
  34. object ParquetFormatType extends FileFormatType

    Permalink
  35. object PartChecks

    Permalink
  36. object ProjectExprContext extends ExpressionContext

    Permalink
  37. object RapidsConf

    Permalink
  38. object RapidsMeta

    Permalink
  39. object ReadFileOp extends FileFormatOp

    Permalink
  40. object ReductionAggExprContext extends ExpressionContext

    Permalink
  41. object ShimGpuOverrides extends Logging

    Permalink
  42. object SortEachBatch extends SortExecType

    Permalink
  43. object SupportedOpsDocs

    Permalink

    Used for generating the support docs.

  44. object SupportedOpsForTools

    Permalink
  45. object TypeChecks

    Permalink
  46. object TypeEnum extends Enumeration

    Permalink

    The Supported Types.

    The Supported Types. The TypeSig API should be preferred for this, except in a few cases when TypeSig asks for a TypeEnum.

  47. object TypeSig

    Permalink
  48. object WindowAggExprContext extends ExpressionContext

    Permalink
  49. object WindowSpecCheck extends ExprChecks

    Permalink

    This is specific to WidowSpec, because it does not follow the typical parameter convention.

  50. object WriteFileOp extends FileFormatOp

    Permalink
  51. package shims

    Permalink

Ungrouped