modifying osc mt code#2
Conversation
| return ret; | ||
| } | ||
|
|
||
| if (pthread_equal(tid, mca_osc_ucx_component.main_tid)) { |
There was a problem hiding this comment.
Does this mean that main_tid works with "receve" worker?
| return ret; | ||
| } | ||
|
|
||
| if (pthread_equal(tid, mca_osc_ucx_component.main_tid)) { |
There was a problem hiding this comment.
Maybe worth making this piece an inline function so it doesn't duplicate in put & get
| } | ||
| } | ||
|
|
||
| curr_thread_info = pthread_getspecific(my_thread_key); |
There was a problem hiding this comment.
I would shift it in the "if" statement.
Otherwise you are always calling pthread_getspecific twice which we don't want
| UCP_PARAM_FIELD_REQUEST_SIZE; | ||
| context_params.features = UCP_FEATURE_RMA | UCP_FEATURE_AMO32 | UCP_FEATURE_AMO64; | ||
| context_params.mt_workers_shared = 0; | ||
| context_params.mt_workers_shared = 1; |
There was a problem hiding this comment.
I thought in our implementations workers are not shared, only context.
There was a problem hiding this comment.
I guess this is related to the context. But I wanted to double check.
| if (mca_osc_ucx_component.mem_addr_disps == NULL) | ||
| mca_osc_ucx_component.mem_addr_disps = malloc(comm_size * sizeof(int)); | ||
|
|
||
| if (!is_eps_ready) { |
There was a problem hiding this comment.
In which case is_ep_ready can be "true"?
| } | ||
| pthread_mutex_unlock(&curr_worker->lock); | ||
| } | ||
| } |
There was a problem hiding this comment.
Don't we need to also update ompi_osc_ucx_flush_all?
cf66f98 to
34153d3
Compare
change datastruct
Add Operation function
Osc/mt v2
Intermediate fixes
Bring everything to a "builds OK" state
OSC builds as well.
No description provided.