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

[FEA/Discussion]: allow specification of default engine via config options #19797

Open
wence- opened this issue Nov 14, 2024 · 2 comments
Open
Labels
enhancement New feature or an improvement of an existing feature

Comments

@wence-
Copy link
Collaborator

wence- commented Nov 14, 2024

Description

When collecting a lazyframe, one can specify an engine= parameter to switch between cpu (in memory) and gpu. Perhaps once new-streaming is ready for primetime that will be an option as well.

Some feedback from gpu-engine users suggests that it might be useful to allow users to select (via config options) a default engine. Since the gpu engine allows passing an object to select the engine (to provide extra configuration options), one would only allow selecting an engine with "defaults", since the Config object goes through os.environ and therefore can only store strings. I think that is probably fine.

Any opinion on whether this sounds reasonable, and if so how to spell it?

@quasiben
Copy link

Similar to pl.Config.set_ascii_tables(True), maybe it would be good to start with the simplest config like pl.Config.set_gpu_engine(True) . There are many options which cuDF is still developing:

    device=0,  # This is the default
    raise_on_fail=True,  # Fail loudly if can't execute on the GPU
    parquet_options={
        'chunked': True,
        'chunk_read_limit': int(1e9),
        'pass_read_limit': int(4e9)
    },
    memory_resource=mr

Rather than expose all of this into some global config, an easy on/off button may work nicely here.

@Matt711
Copy link

Matt711 commented Dec 21, 2024

I'm working on this in tandem with #20039

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or an improvement of an existing feature
Projects
None yet
Development

No branches or pull requests

3 participants