Commit Graph

72 Commits

Author SHA1 Message Date
Jason Henline 2eb1da8ed0 Exclude examples, unittests from doc gen
Public documentation shouldn't be generated for unit test code and code
that is only meant to be used as snippets in other documentation.

llvm-svn: 280278
2016-08-31 19:02:47 +00:00
Jason Henline 5b363dd294 [StreamExecutor] Add Doxygen main page
Reviewers: jlebar

Subscribers: jprice, parallel_libs-commits

Differential Revision: https://reviews.llvm.org/D24066

llvm-svn: 280277
2016-08-31 19:02:44 +00:00
Jason Henline ba65d4412e [StreamExecutor] Add Stream::blockHostUntilDone
Summary: Add the type-safe wrapper to the platform-specific implementation.

Reviewers: jlebar

Subscribers: jprice, parallel_libs-commits

Differential Revision: https://reviews.llvm.org/D24063

llvm-svn: 280182
2016-08-31 00:11:14 +00:00
Jason Henline 90ce6e1e64 [StreamExecutor] Simplify Kernel classes
Summary:
Make the Kernel class follow the pattern of the other classes. It now
has a type-safe user wrapper and a typeless, platform-specific handle.

Reviewers: jlebar

Subscribers: jprice, parallel_libs-commits

Differential Revision: https://reviews.llvm.org/D24043

llvm-svn: 280176
2016-08-30 23:35:24 +00:00
Jason Henline f14306b01e [StreamExecutor] Fix KernelSpec Doxygen
Summary:
There was a typo where \endcode was spelled as \encode and it was
keeping the whole file document from rendering. I also added in some \c
annotations for inline code stuff to make it look nicer.

Reviewers: jprice

Subscribers: parallel_libs-commits

Differential Revision: https://reviews.llvm.org/D23941

llvm-svn: 279855
2016-08-26 19:55:32 +00:00
Jason Henline 20cf1eb161 [StreamExecutor] Add Platform and PlatformManager
Summary: Abstractions for a StreamExecutor platform

Reviewers: jlebar

Subscribers: jprice, parallel_libs-commits

Differential Revision: https://reviews.llvm.org/D23857

llvm-svn: 279779
2016-08-25 21:33:07 +00:00
Jason Henline bcc77b6249 [StreamExecutor] Rename Executor to Device
Summary: This more clearly describes what the class is.

Reviewers: jlebar

Subscribers: jprice, parallel_libs-commits

Differential Revision: https://reviews.llvm.org/D23851

llvm-svn: 279669
2016-08-24 21:31:53 +00:00
Jason Henline 3053bbf3b2 [StreamExecutor] Fix allocateDeviceMemory
Summary:
The return value from PlatformExecutor::allocateDeviceMemory needs to be
converted from Expected<GlobalDeviceMemoryBase> to
Expected<GlobalDeviceMemory<T>> in Executor::allocateDeviceMemory.

A similar bug is also fixed for Executor::allocateHostMemory.

Thanks to jprice for identifying this bug.

Reviewers: jprice, jlebar

Subscribers: parallel_libs-commits

Differential Revision: https://reviews.llvm.org/D23849

llvm-svn: 279658
2016-08-24 19:42:03 +00:00
Jason Henline 424fc7e611 [StreamExecutor] Clean up device copy comments
Summary:
Consolidate Executor::synchronousCopy* and Stream::thenCopy* methods into
Doxygen method groups and combine all their comments into one section.

Also a "doc" target to the build files to use Doxygen to build the
documentation.

Reviewers: jlebar

Subscribers: jprice, parallel_libs-commits

Differential Revision: https://reviews.llvm.org/D23845

llvm-svn: 279654
2016-08-24 18:56:26 +00:00
Jason Henline bb1322d495 [StreamExecutor] Executor add synchronous methods
Summary:
Add Executor methods that block the host until completion. Since these
methods are host-synchronous, they don't require Stream arguments.

Reviewers: jlebar

Subscribers: jprice, parallel_libs-commits

Differential Revision: https://reviews.llvm.org/D23577

llvm-svn: 279640
2016-08-24 16:58:20 +00:00
Jason Henline a91dc70b18 [StreamExecutor] Rename StreamExecutor to Executor
Summary: No functional changes just renaming this class for better readability.

Reviewers: jlebar

Subscribers: jprice, parallel_libs-commits

Differential Revision: https://reviews.llvm.org/D23574

llvm-svn: 278833
2016-08-16 18:18:32 +00:00
Jason Henline 68b97c7dc9 [StreamExecutor] Add basic Stream operations
Summary: Add the Stream class and a few of the operations it supports.

Reviewers: jlebar, tra

Subscribers: jprice, parallel_libs-commits

Differential Revision: https://reviews.llvm.org/D23333

llvm-svn: 278829
2016-08-16 17:58:31 +00:00
Jason Henline b071092756 [StreamExecutor] Add DeviceMemory and kernel arg packing
Summary:
Add types for device memory and add the code that knows how to pack these
device memory types if they are passed as arguments to kernel launches.

Reviewers: jlebar, tra

Subscribers: parallel_libs-commits

Differential Revision: https://reviews.llvm.org/D23211

llvm-svn: 278021
2016-08-08 16:45:19 +00:00
Jason Henline 7b1fbead89 [StreamExecutor] Add kernel types
Summary: Add StreamExecutor kernel types.

Reviewers: jlebar, tra

Subscribers: parallel_libs-commits

Differential Revision: https://reviews.llvm.org/D23138

llvm-svn: 277827
2016-08-05 16:05:44 +00:00
Jason Henline 8c04cbf882 [StreamExecutor] Add KernelLoaderSpec
Summary:
Add definitions for the KernelLoaderSpec and MultiKernelLoaderSpec
classes to StreamExecutor. Instances of these classes are generated by the
compiler in order to provide host code with a handle to device code.

Reviewers: jlebar, tra

Subscribers: parallel_libs-commits

Differential Revision: https://reviews.llvm.org/D23038

llvm-svn: 277615
2016-08-03 18:04:13 +00:00
Jason Henline 401219ae3f [StreamExecutor] Add error handling library
Summary:
Error handling in StreamExecutor is based on llvm::Error and
llvm::Expected. This CL sets up the StreamExecutor wrapper classes in
the streamexecutor namespace.

All the other StreamExecutor code makes use of this error handling code,
so this is the first CL for checking in StreamExecutor.

Reviewers: jlebar, tra

Subscribers: parallel_libs-commits

Differential Revision: https://reviews.llvm.org/D22687

llvm-svn: 277210
2016-07-29 20:45:52 +00:00
Jason Henline a12aa1fa9c Add .clang-format to parallel-libs
Summary:
The format style is set to LLVM. This is consistent with the
parallel-libs project charter which specifies that its libraries will
conform to LLVM coding style.

Reviewers: jlebar

Subscribers: parallel_libs-commits

Differential Revision: https://reviews.llvm.org/D22576

llvm-svn: 276145
2016-07-20 17:49:55 +00:00
Jason Henline edc48e0ec5 Use HTTPS for arcconfig conduit URL
llvm-svn: 276142
2016-07-20 17:30:40 +00:00
Jason Henline 9d5c55e4f6 Set up arcconfig for parallel-libs project
llvm-svn: 275821
2016-07-18 17:26:26 +00:00
Jason Henline 301b1fa637 Add streamexecutor directory
llvm-svn: 275814
2016-07-18 16:44:25 +00:00
Jason Henline babc13a3e2 Change mailing list names in README
An underscore is used in the mailing list names rather than a dash, so it is
parallel_libs instead of parallel-libs.

llvm-svn: 273742
2016-06-24 22:50:09 +00:00
Jason Henline d5f947968b Create parallel-libs subproject in LLVM
This initial commit just sets up the basic directory structure and includes the
charter document as README.rst to describe the purpose of the project.

llvm-svn: 273452
2016-06-22 18:24:46 +00:00