Skip to content
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

[BUG] [GPU Logic Bug] SELECT (CASE <column> WHEN (CASE <column> WHEN <column> THEN <column> END) THEN <string> ELSE <column> END) FROM <table> brings Error #1340

Open
qwebug opened this issue Jun 5, 2024 · 0 comments
Labels
bug Something isn't working needs triage Awaiting triage by a dask-sql maintainer

Comments

@qwebug
Copy link

qwebug commented Jun 5, 2024

What happened:

SELECT (CASE <column> WHEN (CASE <column> WHEN <column> THEN <column> END) THEN <string> ELSE <column> END) FROM <table> brings different results, when using CPU and GPU execution.

What you expected to happen:

It is the same result, when using CPU and GPU execution.

Minimal Complete Verifiable Example:

import pandas as pd
import dask.dataframe as dd
from dask_sql import Context

c = Context()

t0 = dd.read_csv('t0.csv')

c.create_table('t0', t0, gpu=False)
c.create_table('t0_gpu', t0, gpu=True)

print('CPU Result:')
result1= c.sql("SELECT ( CASE ((t0.c0) ||(t0.c0)) WHEN ( CASE ((t0.c0) ||(t0.c0)) WHEN '' THEN t0.c0 END ) THEN '' ELSE (('.8Kb') ||(t0.c0)) END ) FROM t0").compute()
print(result1)

print('GPU Result:')
result2= c.sql("SELECT ( CASE ((t0_gpu.c0) ||(t0_gpu.c0)) WHEN ( CASE ((t0_gpu.c0) ||(t0_gpu.c0)) WHEN '' THEN t0_gpu.c0 END ) THEN '' ELSE (('.8Kb') ||(t0_gpu.c0)) END ) FROM t0_gpu").compute()
print(result2)

t0.csv:

c0,
'',

Result:

INFO:numba.cuda.cudadrv.driver:init
CPU Result:
  CASE t0.c0 || t0.c0 WHEN CASE t0.c0 || t0.c0 WHEN Utf8("") THEN t0.c0 END THEN Utf8("") ELSE Utf8(".8Kb") || t0.c0 END
0                                             .8Kb''                                                                    
GPU Result:
  CASE t0_gpu.c0 || t0_gpu.c0 WHEN CASE t0_gpu.c0 || t0_gpu.c0 WHEN Utf8("") THEN t0_gpu.c0 END THEN Utf8("") ELSE Utf8(".8Kb") || t0_gpu.c0 END
0           

Anything else we need to know?:

Environment:

@qwebug qwebug added bug Something isn't working needs triage Awaiting triage by a dask-sql maintainer labels Jun 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working needs triage Awaiting triage by a dask-sql maintainer
Projects
None yet
Development

No branches or pull requests

1 participant