diff --git a/docs/additional-functionality/advanced_configs.md b/docs/additional-functionality/advanced_configs.md index c678ab2cc66..80a520d5cb0 100644 --- a/docs/additional-functionality/advanced_configs.md +++ b/docs/additional-functionality/advanced_configs.md @@ -208,14 +208,7 @@ Name | SQL Function(s) | Description | Default Value | Notes spark.rapids.sql.expression.Concat|`concat`|List/String concatenate|true|None| spark.rapids.sql.expression.ConcatWs|`concat_ws`|Concatenates multiple input strings or array of strings into a single string using a given separator|true|None| spark.rapids.sql.expression.Contains| |Contains|true|None| -spark.rapids.sql.expression.Conv|`conv`|Convert string representing a number from one base to another|false|This is disabled by default because GPU implementation is incomplete. We currently only support from/to_base 10 and 16. We - fall back on CPU if the signed conversion is signalled via a negative to_base. - GPU implementation does not check for 64-bit int overflow when performing the conversion - to return FFFFFFFFFFFFFFFF or 18446744073709551615 or to throw an error in the ANSI mode. - It is safe to enable if the overflow is not possible or detected externally. - For instance decimal strings not longer than 18 characters / hexadecimal strings - not longer than 15 characters disregarding the sign cannot cause an overflow. - | +spark.rapids.sql.expression.Conv|`conv`|Convert string representing a number from one base to another|false|This is disabled by default because GPU implementation is incomplete. We currently only support from/to_base values of 10 and 16. We fall back on CPU if the signed conversion is signalled via a negative to_base. GPU implementation does not check for an 64-bit signed/unsigned int overflow when performing the conversion to return `FFFFFFFFFFFFFFFF` or `18446744073709551615` or to throw an error in the ANSI mode. It is safe to enable if the overflow is not possible or detected externally. For instance decimal strings not longer than 18 characters / hexadecimal strings not longer than 15 characters disregarding the sign cannot cause an overflow. | spark.rapids.sql.expression.Cos|`cos`|Cosine|true|None| spark.rapids.sql.expression.Cosh|`cosh`|Hyperbolic cosine|true|None| spark.rapids.sql.expression.Cot|`cot`|Cotangent|true|None| diff --git a/docs/supported_ops.md b/docs/supported_ops.md index d0b05af339e..ec469bc5968 100644 --- a/docs/supported_ops.md +++ b/docs/supported_ops.md @@ -4513,14 +4513,7 @@ are limited. Conv `conv` Convert string representing a number from one base to another -This is disabled by default because GPU implementation is incomplete. We currently only support from/to_base 10 and 16. We - fall back on CPU if the signed conversion is signalled via a negative to_base. - GPU implementation does not check for 64-bit int overflow when performing the conversion - to return FFFFFFFFFFFFFFFF or 18446744073709551615 or to throw an error in the ANSI mode. - It is safe to enable if the overflow is not possible or detected externally. - For instance decimal strings not longer than 18 characters / hexadecimal strings - not longer than 15 characters disregarding the sign cannot cause an overflow. - +This is disabled by default because GPU implementation is incomplete. We currently only support from/to_base values of 10 and 16. We fall back on CPU if the signed conversion is signalled via a negative to_base. GPU implementation does not check for an 64-bit signed/unsigned int overflow when performing the conversion to return `FFFFFFFFFFFFFFFF` or `18446744073709551615` or to throw an error in the ANSI mode. It is safe to enable if the overflow is not possible or detected externally. For instance decimal strings not longer than 18 characters / hexadecimal strings not longer than 15 characters disregarding the sign cannot cause an overflow. project num diff --git a/sql-plugin/src/main/scala/com/nvidia/spark/rapids/GpuOverrides.scala b/sql-plugin/src/main/scala/com/nvidia/spark/rapids/GpuOverrides.scala index 77d88e3da31..7627d5c2ce2 100644 --- a/sql-plugin/src/main/scala/com/nvidia/spark/rapids/GpuOverrides.scala +++ b/sql-plugin/src/main/scala/com/nvidia/spark/rapids/GpuOverrides.scala @@ -3054,14 +3054,16 @@ object GpuOverrides extends Logging { (convExpr, conf, parentMetaOpt, dataFromReplacementRule) => new GpuConvMeta(convExpr, conf, parentMetaOpt, dataFromReplacementRule) ).disabledByDefault( - """|GPU implementation is incomplete. We currently only support from/to_base 10 and 16. We - | fall back on CPU if the signed conversion is signalled via a negative to_base. - | GPU implementation does not check for 64-bit int overflow when performing the conversion - | to return FFFFFFFFFFFFFFFF or 18446744073709551615 or to throw an error in the ANSI mode. - | It is safe to enable if the overflow is not possible or detected externally. - | For instance decimal strings not longer than 18 characters / hexadecimal strings - | not longer than 15 characters disregarding the sign cannot cause an overflow. - """.stripMargin), + """GPU implementation is incomplete. We currently only support from/to_base values + |of 10 and 16. We fall back on CPU if the signed conversion is signalled via + |a negative to_base. + |GPU implementation does not check for an 64-bit signed/unsigned int overflow when + |performing the conversion to return `FFFFFFFFFFFFFFFF` or `18446744073709551615` or + |to throw an error in the ANSI mode. + |It is safe to enable if the overflow is not possible or detected externally. + |For instance decimal strings not longer than 18 characters / hexadecimal strings + |not longer than 15 characters disregarding the sign cannot cause an overflow. + """.stripMargin.replaceAll("\n", " ")), expr[MapConcat]( "Returns the union of all the given maps", ExprChecks.projectOnly(TypeSig.MAP.nested(TypeSig.commonCudfTypes + TypeSig.DECIMAL_128 + diff --git a/tools/generated_files/supportedExprs.csv b/tools/generated_files/supportedExprs.csv index a768698eb60..2a2cbc1b431 100644 --- a/tools/generated_files/supportedExprs.csv +++ b/tools/generated_files/supportedExprs.csv @@ -127,38 +127,10 @@ ConcatWs,S,`concat_ws`,None,project,result,NA,NA,NA,NA,NA,NA,NA,NA,NA,S,NA,NA,NA Contains,S, ,None,project,src,NA,NA,NA,NA,NA,NA,NA,NA,NA,S,NA,NA,NA,NA,NA,NA,NA,NA Contains,S, ,None,project,search,NA,NA,NA,NA,NA,NA,NA,NA,NA,PS,NA,NA,NA,NA,NA,NA,NA,NA Contains,S, ,None,project,result,S,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -Conv,NS,`conv`,This is disabled by default because GPU implementation is incomplete. We currently only support from/to_base 10 and 16. We - fall back on CPU if the signed conversion is signalled via a negative to_base. - GPU implementation does not check for 64-bit int overflow when performing the conversion - to return FFFFFFFFFFFFFFFF or 18446744073709551615 or to throw an error in the ANSI mode. - It is safe to enable if the overflow is not possible or detected externally. - For instance decimal strings not longer than 18 characters / hexadecimal strings - not longer than 15 characters disregarding the sign cannot cause an overflow. - ,project,num,NA,NA,NA,NA,NA,NA,NA,NA,NA,S,NA,NA,NA,NA,NA,NA,NA,NA -Conv,NS,`conv`,This is disabled by default because GPU implementation is incomplete. We currently only support from/to_base 10 and 16. We - fall back on CPU if the signed conversion is signalled via a negative to_base. - GPU implementation does not check for 64-bit int overflow when performing the conversion - to return FFFFFFFFFFFFFFFF or 18446744073709551615 or to throw an error in the ANSI mode. - It is safe to enable if the overflow is not possible or detected externally. - For instance decimal strings not longer than 18 characters / hexadecimal strings - not longer than 15 characters disregarding the sign cannot cause an overflow. - ,project,from_base,NA,PS,PS,PS,PS,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -Conv,NS,`conv`,This is disabled by default because GPU implementation is incomplete. We currently only support from/to_base 10 and 16. We - fall back on CPU if the signed conversion is signalled via a negative to_base. - GPU implementation does not check for 64-bit int overflow when performing the conversion - to return FFFFFFFFFFFFFFFF or 18446744073709551615 or to throw an error in the ANSI mode. - It is safe to enable if the overflow is not possible or detected externally. - For instance decimal strings not longer than 18 characters / hexadecimal strings - not longer than 15 characters disregarding the sign cannot cause an overflow. - ,project,to_base,NA,PS,PS,PS,PS,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -Conv,NS,`conv`,This is disabled by default because GPU implementation is incomplete. We currently only support from/to_base 10 and 16. We - fall back on CPU if the signed conversion is signalled via a negative to_base. - GPU implementation does not check for 64-bit int overflow when performing the conversion - to return FFFFFFFFFFFFFFFF or 18446744073709551615 or to throw an error in the ANSI mode. - It is safe to enable if the overflow is not possible or detected externally. - For instance decimal strings not longer than 18 characters / hexadecimal strings - not longer than 15 characters disregarding the sign cannot cause an overflow. - ,project,result,NA,NA,NA,NA,NA,NA,NA,NA,NA,S,NA,NA,NA,NA,NA,NA,NA,NA +Conv,NS,`conv`,This is disabled by default because GPU implementation is incomplete. We currently only support from/to_base values of 10 and 16. We fall back on CPU if the signed conversion is signalled via a negative to_base. GPU implementation does not check for an 64-bit signed/unsigned int overflow when performing the conversion to return `FFFFFFFFFFFFFFFF` or `18446744073709551615` or to throw an error in the ANSI mode. It is safe to enable if the overflow is not possible or detected externally. For instance decimal strings not longer than 18 characters / hexadecimal strings not longer than 15 characters disregarding the sign cannot cause an overflow. ,project,num,NA,NA,NA,NA,NA,NA,NA,NA,NA,S,NA,NA,NA,NA,NA,NA,NA,NA +Conv,NS,`conv`,This is disabled by default because GPU implementation is incomplete. We currently only support from/to_base values of 10 and 16. We fall back on CPU if the signed conversion is signalled via a negative to_base. GPU implementation does not check for an 64-bit signed/unsigned int overflow when performing the conversion to return `FFFFFFFFFFFFFFFF` or `18446744073709551615` or to throw an error in the ANSI mode. It is safe to enable if the overflow is not possible or detected externally. For instance decimal strings not longer than 18 characters / hexadecimal strings not longer than 15 characters disregarding the sign cannot cause an overflow. ,project,from_base,NA,PS,PS,PS,PS,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +Conv,NS,`conv`,This is disabled by default because GPU implementation is incomplete. We currently only support from/to_base values of 10 and 16. We fall back on CPU if the signed conversion is signalled via a negative to_base. GPU implementation does not check for an 64-bit signed/unsigned int overflow when performing the conversion to return `FFFFFFFFFFFFFFFF` or `18446744073709551615` or to throw an error in the ANSI mode. It is safe to enable if the overflow is not possible or detected externally. For instance decimal strings not longer than 18 characters / hexadecimal strings not longer than 15 characters disregarding the sign cannot cause an overflow. ,project,to_base,NA,PS,PS,PS,PS,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +Conv,NS,`conv`,This is disabled by default because GPU implementation is incomplete. We currently only support from/to_base values of 10 and 16. We fall back on CPU if the signed conversion is signalled via a negative to_base. GPU implementation does not check for an 64-bit signed/unsigned int overflow when performing the conversion to return `FFFFFFFFFFFFFFFF` or `18446744073709551615` or to throw an error in the ANSI mode. It is safe to enable if the overflow is not possible or detected externally. For instance decimal strings not longer than 18 characters / hexadecimal strings not longer than 15 characters disregarding the sign cannot cause an overflow. ,project,result,NA,NA,NA,NA,NA,NA,NA,NA,NA,S,NA,NA,NA,NA,NA,NA,NA,NA Cos,S,`cos`,None,project,input,NA,NA,NA,NA,NA,NA,S,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA Cos,S,`cos`,None,project,result,NA,NA,NA,NA,NA,NA,S,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA Cos,S,`cos`,None,AST,input,NA,NA,NA,NA,NA,NA,S,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA