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

[Draft][onert] Optimize FullyConnected #14335

Closed
wants to merge 3 commits into from

Conversation

ys44kim
Copy link
Contributor

@ys44kim ys44kim commented Nov 21, 2024

This is a test pr for fully connected optimization.
and there is no plan to merge this PR.

ONE-DCO-1.0-Signed-off-by: youngsik kim [email protected]

This commit adds ggml worker

ONE-DCO-1.0-Signed-off-by: youngsik kim <[email protected]>
This commit is for optimizing bmm from sg5.lee

ONE-DCO-1.0-Signed-off-by: youngsik kim <[email protected]>
This commit restores o2024 ggml

ONE-DCO-1.0-Signed-off-by: youngsik kim <[email protected]>
@ys44kim ys44kim marked this pull request as draft November 21, 2024 04:47
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/

#pragma once

#define GGML_COMMON_DECL_C
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

o2024 ggml is restored,
the latest ggml has a performance degradation of 5% compared to the o2024 version
refer to glistening


ggml_setup_op_has_task_pass();

ggml_worker_init();
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

create a thread in ggml_init, and the corresponding thread is waiting for work

#ifdef GGML_TRACE
for(int i = 0; i < TRACE_THREAD_MAX_N; i++)
{
chrome_trace_init(&trace_scope[i], i);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add trace for profiling ggml op

};

ggml_worker_submit(ggml_graph_compute_thread, &workers[j]);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. submit work with ggml_graph_computer_thread
  2. transmits the signal to the multi thread.
  3. the thread executes ggml_graph_computer_thread after wakeup.

@ys44kim
Copy link
Contributor Author

ys44kim commented Nov 22, 2024

I do not merge this PR.
I'm preparing another plan.

@ys44kim ys44kim closed this Nov 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant