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

cc pipeline interfaces #141

Merged
merged 338 commits into from
Feb 4, 2019
Merged

cc pipeline interfaces #141

merged 338 commits into from
Feb 4, 2019

Conversation

ccarels
Copy link
Contributor

@ccarels ccarels commented Jan 30, 2019


name: Pull Request
about: Create a pull request to help us improve


Description of pull request
Adds an API to AstroAccelerate codebase. The API allows users to run a pipeline of modules on the GPU. Input and output data can be extracted using the API. Lower level access to the pipeline is also available (see examples/ folder for example code). The API code can be integrated into users' own code by linking against AstroAccelerate.

Boilerplate code makes use of the API so that it configures a pipeline at runtime. Several C-style wrapper functions make use of this boilerplate code, which functions as a simplified way for users to run AstroAccelerate functions. The new code now offers the possibility to implement a Python interface to the codebase.

The standalone functionality of the existing master branch code was re-written to make use of the new API code such that its functionality is unaffected.

A logging facility has been added that has a compile-time enable/disable option, and a runtime severity level that filters logs (dev_debug, debug, notice, warning, error).

Unit tests and example codes were added to the repository. The codebase has been documented with Doxygen compatible comments.

All documentation has been updated to describe the new API and how to use it, as well as how to contribute to the codebase.

Several other issues are also fixed in this branch (see below).

Interfaces
Will this pull request result in a backwards-incompatible interface change: No.

Expected semantic version number increment category (Please indicate x.y.z): y.

Issues this pull request solves
Fixes #18, fixes #19, fixes #21, fixes #58, fixes #63, fixes #87, fixes #90, fixes #96, fixes #105, fixes #126.

New tag of master
Yes.

New deployment
See above.

Keep branch after merging
No.

Notes
This branch has undergone code review.

carels and others added 30 commits November 19, 2018 14:41
…ds testing and validation, and integration into the API code.
…not used and cannot be directly compared to the GPU code.
…celerate. Also removed #include of aa_host_analysis since it is no longer used.
…r_strategy contains a new interface method containing a flag whether it was configured for analysis. aa_analysis_strategy checks whether ddtr_strategy was configured for analysis. Code indentation updated for several files.
…ke version.h.in file and aa_device_info to check the compute capability against the compiled compute capability.
…lso removed unused variabled from allocate_memory_MSD.
…compute 7.5 features to CMakeLists as well as version.h define variables for compute 7.5
…xpected total amount of memory to be requested. Modified strategy methods to make use of this functionality. The cmake files for the tests link against the astroaccelerate library.
carels and others added 17 commits January 18, 2019 11:41
… uses a std::vector instead of a pointer. The sigproc reader class now has a method that returns a modifiable reference to the input data.
… work correctly. Also, manually cap memory usage of ddtr to 8 GB so that the current kernels work on newer cards.
@ccarels ccarels changed the title [WIP] cc pipeline interfaces cc pipeline interfaces Feb 4, 2019
@ccarels ccarels merged commit bba8193 into master Feb 4, 2019
@ccarels ccarels deleted the cc_pipeline_interfaces branch February 4, 2019 10:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment