Do not use ctor
* Reduce line of codes.
* We can use virtual function for Maker now.
* The implementation does not care what maker holds, it is easier to
refactor later.
* Fix old documentation for channel_recv
* Initial design of CSP select
* Redesign channel implementation for Select Op
* Remove unecessary header
* Initial checkin of select op, currently will read all the conditional_op in the cases block and also pull out all channels involved in the select.
* Init python select op API
* Python select bug fix when checking op creates block
* Add case_to_execute as (a) input to select, (b) into the passed inputs into the select op
* Add in addition code for select op
* Init fibonacci test from python
* implement fibonnaci sequence test
* update fib unit test
* Improve select test cases
* Shorten non-pep-8-ed lines
* Add methods on channel needed by select op
* Fix compile issues, finish implementation, still need to debug code
* Fix issue with fibonncci test, it works now!
* Change QueueMessage callback to take in an ChannelAction enum, fix select unit test
* Fix case attributes
* Fix issue with select control flow
* Make cases - previously on each selectcase conditional_block - attributes to select
* Use class constants for type of channel
* Change select op to take in "cases" attribute
* return boolean from select callback function to tell Channel if this RECV or SEND should be executed
* Improve attributes and inputs comments on select op
* Fix issues with python unit test
* Assert fibonacci final output
* Fix issue when channel name / channel var is null for "default" case in select op
* Assert base select test output
* Make QueueMessage use shared pointer and modify the order of the callback
* Fixing the order in which the callback is called
* Move channel utility methods to paddle/fluid/operators/concurrency/channel_util
* Create channel_util and move channel util methods
* Fix crash when calling select_op
* Fix deadlock
* Fix issue of channel destructor deadlock
* Fix precommit issues
* Accidentally checked in changes to beam_search_op, reverting change.
* Fix dependency issue in concurrency cmake
* add device_context dependency for concurrency target
* Adding Python boilerplate code for Go op
* Add very basic test case
* Adding the python logic for go routine
* Fix syntax
* Changing test to notest
* Rename Routine to Go
* Combining GoGuard and Go in one class
* Modify test
* Adding fluid close channel
* Fixing __init__.py for calling fluid.go()
* Adding stubs for channel methods and updating test case
* Removing import *
* Adding imports from concurrency
* Initial commit of GO_OP (for varun)
* Creating local scopes and go through them
* Updated go op inputs persistability enforcement
* Add thread execution; compile failing though
* Fix go op
* Cleaned up Go op
* Fix yapf format issue
* Readd warp ctc dir for unit tests
* Updated make_channel, channel_send, channel_recv and channel_close
* Moved thread function to another method, update unit tests
* remove output var
* Add stubs for channel operators
* Updating concurrency with signatures
* Updated the signature with return status
* Fixed dtype in variables
* Updating stub of ChannelSend + add infershape
* Updating stub of ChannelRecv + add infershape
* Updated signature
* Adding the channel_create operator
* Merge channel send+receive ops
* Update concurrency tests using all operators
* Updating the create op with ChannelHolder
* Fix issues with channel_create_op
* Add the implementation for channel_close op
* Add channel close operator, fix channel close op
* Adding the channel_send op
* Comment channels C++ and Python code
* Concurrency python api comment fix
* Update unit test to add Status variable
* Adding channel receive operator
* Update concurrency test to demonstrate a complete CSP flow
* Fix clang-format issues
* Fixed "Out" parameter name
* Fixing merge conflict in framework.py
* Add channel ops to framework.py no_kernel_op_set
* Seperating channel_send and channel_recv operators
* Documenting capacity type
* Update concurrency test to create go block as child block of main program
* Changing set status implementation