Which presets would you like to see in a CMakePresets.json #14859
Replies: 3 comments 7 replies
-
|
cmake presets are good. But from my experience if they are too difficult (theres a lot of names, inheritance, etc) people tends to don't use it.
For an example I see when people rewrote CI to use cmake presets, after this common devs avoided presets because they are became too difficult to change value/understand what options are used/etc Maybe the good options is have few simple build + "examples" configs. WDYT? |
Beta Was this translation helpful? Give feedback.
-
|
Responding to the tag on GPU: it probably makes sense to separate cuDF and Wave, since cuDF requires additional dependencies that Wave does not require. Generally I do not know much about presets or how to use them. I am happy with the current setup of passing |
Beta Was this translation helpful? Give feedback.
-
|
Regarding the default preset: my take is that it should contain everything needed to enable you to run a full query plan, without adding much beyond that. So that would include include exec, dwio (Parquet and DWRF), and Hive connector. There is a question of which dialect we assume is default. For now we end up using Presto because it was added first and probably has better coverage and stability. I feel it should be either Presto or Spark, and having the other as optional. Fuzzer, testing infrastructure, benchmarks, cloud storage adapters, PyVelox, GPU, and such should all be optional IMHO. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I would like to make running certain configurations of Velox easier, e.g. to replicate CI builds without having to do a bunch of manual flag setting and to clean up and simplify the Makefile. You can read about the technical aspect here
Some configurations/presets are obvious:
In addition these could all be done as a permutation with:
Then I think there should also be a 'default' which imo should be roughly what you get now when you run cmake without any additional flags set but in recent times a lot of stuff was added to that config and we should discuss what this 'default' should encompass.
I think it should be what we think of as the core functionality of Velox but I am not sure what exactly that means?
Things I would lean towards not adding (just feelings in regards to dependencies, no specific arguments):
Cloud adapters should obviously not be part of default.
Are there any other presets you would like to see? Or do you have thoughts about the ones listed above, please discuss!
Beta Was this translation helpful? Give feedback.
All reactions