• T
    Implement Select OP (#9088) · 1e4c504e
    Thuan Nguyen 提交于
    * 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
    1e4c504e
test_concurrency.py 8.7 KB