-
Notifications
You must be signed in to change notification settings - Fork 0
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
Use mixin for binops #4
Commits on Feb 25, 2022
-
Fix
std::bad_alloc
exception due to JIT reserving a huge buffer (ra……pidsai#10317) In file `jit/cache.cpp`, a program cache always internally reserves a `std::unordered_map` using a size set by an environment variable `LIBCUDF_KERNEL_CACHE_LIMIT_PER_PROCESS`. If that environment variable does not exist, a default value (`std::numeric_limit<size_t>::max`) is used. Such default value is huge, leading to allocating a huge (impossible) size of memory chunk that crashes the system. This PR changes that default value from `std::numeric_limit<size_t>::max` to `1024^2`. This is essentially a reverse of the PR rapidsai#10312 but set the default value to `1024` instead of `100`. Note that `1024^2` is just some random number, not based on any specific calculation. Closes rapidsai#10312 and closes rapidsai#9362. Authors: - Nghia Truong (https://github.com/ttnghia) Approvers: - Mark Harris (https://github.com/harrism) - Karthikeyan (https://github.com/karthikeyann) URL: rapidsai#10317
Configuration menu - View commit details
-
Copy full SHA for df646b2 - Browse repository at this point
Copy the full SHA df646b2View commit details -
Add device create_sequence_table for benchmarks (rapidsai#10300)
addresses parts of rapidsai#5773 - Add `create_sequence_table` which creates sequences in device (only numeric types supported) with/without nulls. - Add `create_random_null_mask` to create random null mask with given probability. (0.0-1.0 null probability) ~- add gnu++17 to generate_input.cu (temporarily for int128 STL support).~ - renamed `repeat_dtypes` to `cycle_dtypes` and moved out of create_* methods - updated ast bench, search, scatter , binary ops bench Splitting PR rapidsai#10109 for review Authors: - Karthikeyan (https://github.com/karthikeyann) Approvers: - Conor Hoekstra (https://github.com/codereport) - Nghia Truong (https://github.com/ttnghia) - Robert Maynard (https://github.com/robertmaynard) - MithunR (https://github.com/mythrocks) - Bradley Dice (https://github.com/bdice) URL: rapidsai#10300
Configuration menu - View commit details
-
Copy full SHA for eaae94b - Browse repository at this point
Copy the full SHA eaae94bView commit details -
Add cleanup of python artifacts (rapidsai#10355)
This PR removes `__pycache__`, `.so` & `.pyc` files. Authors: - GALI PREM SAGAR (https://github.com/galipremsagar) Approvers: - Vyas Ramasubramani (https://github.com/vyasr) URL: rapidsai#10355
Configuration menu - View commit details
-
Copy full SHA for 044922d - Browse repository at this point
Copy the full SHA 044922dView commit details -
Fix warnings in test_categorical.py. (rapidsai#10354)
This PR catches or silences warnings in `test_categorical.py`. (I am working through one test file at a time so we can enable `-Werr` in the future.) Most of the warnings come from deprecated `inplace` arguments to pandas' categorical functions. The `inplace` argument will be removed in pandas 2.0. Until then, we should just hide the warning. Additionally, I refactored some `inplace` behavior to make the expected behavior of the test clearer. Authors: - Bradley Dice (https://github.com/bdice) Approvers: - Ashwin Srinath (https://github.com/shwina) URL: rapidsai#10354
Configuration menu - View commit details
-
Copy full SHA for 3f175ce - Browse repository at this point
Copy the full SHA 3f175ceView commit details -
Refactor array_ufunc for Index and unify across all classes (rapidsai…
…#10346) This PR builds on rapidsai#10217 and rapidsai#10287 to bring full ufunc support for Index types, expanding well beyond the small set previously supported in the `cudf.core.ops` namespace. By using most of the machinery introduced for IndexedFrame in the prior two PRs we avoid duplicating much logic so that all ufunc dispatches flow through a relatively standard path of known methods prior to a common cupy dispatch. With this change we are also able to deprecate the various ufunc operations defined in cudf/core/ops.py that exist only for this purpose as well as a number of Frame methods that are not defined for the corresponding pandas types. Users of those APIs are recommended to calling the corresponding numpy/cupy ufuncs instead to leverage the new dispatch. This PR also fixes a bug where index binary operations that output booleans would previously return instances of GenericIndex, whereas those pandas operations would return numpy arrays. cudf now returns cupy arrays in those cases. Resolves rapidsai#9083. Contributes to rapidsai#9038. Authors: - Vyas Ramasubramani (https://github.com/vyasr) Approvers: - GALI PREM SAGAR (https://github.com/galipremsagar) URL: rapidsai#10346
Configuration menu - View commit details
-
Copy full SHA for e0af727 - Browse repository at this point
Copy the full SHA e0af727View commit details -
Implement a mixin for reductions (rapidsai#9925)
This PR implements a factory for mixins classes based on the common pattern in cuDF of categories of similar functions all calling a common method implementing some standard pre/post-processing before calling a lower-level API of either one of its members (e.g. `Frames` calling `Column` methods) or the C++ libcudf library. When added to another class, these mixins support customization of which methods are exposed via a class member set of method names. Documentation for these methods is generated by formatting the docstring for the common internal method, e.g. `_reduce` for reductions. As a first pass, this PR generates a single mixin for reductions and applies it to all the relevant classes. Future PRs will use this to generate classes for scans, binary operations, and unary operations, and perhaps other similar categories as they are uncovered. This approach assumes a great deal of API homogeneity between the different methods in a category. `Frame` violates this assumption because similar operations often support slightly different parameters (for instance, some reductions support a `min_count` parameter), so for now `Frame` was not made `Reducible`. That decision could be revisited if 1) the degree of homogeneity of these function signatures increases over time, or 2) we can introduce greater customization into these mixins without adding too much complexity. A first attempt of (2) can be seen in [this branch](https://github.com/vyasr/cudf/tree/refactor/reductions_extended), but the degree of additional complexity just to support `Frame` isn't really justifiable at this stage, so unless we can come up with a simpler solution I recommend leaving `Frame` as is for now. Authors: - Vyas Ramasubramani (https://github.com/vyasr) - Ashwin Srinath (https://github.com/shwina) Approvers: - Michael Wang (https://github.com/isVoid) - Ashwin Srinath (https://github.com/shwina) URL: rapidsai#9925
Configuration menu - View commit details
-
Copy full SHA for 21325e8 - Browse repository at this point
Copy the full SHA 21325e8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 26b6a84 - Browse repository at this point
Copy the full SHA 26b6a84View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4339a72 - Browse repository at this point
Copy the full SHA 4339a72View commit details -
Configuration menu - View commit details
-
Copy full SHA for adbf831 - Browse repository at this point
Copy the full SHA adbf831View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1168cd6 - Browse repository at this point
Copy the full SHA 1168cd6View commit details -
Remove reflection from the general binop API and just add a helper to…
… process op names.
Configuration menu - View commit details
-
Copy full SHA for ada6b45 - Browse repository at this point
Copy the full SHA ada6b45View commit details -
Configuration menu - View commit details
-
Copy full SHA for c58570c - Browse repository at this point
Copy the full SHA c58570cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 70a13a0 - Browse repository at this point
Copy the full SHA 70a13a0View commit details