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

Library for ORT execution #13522

Draft
wants to merge 9 commits into
base: dev
Choose a base branch
from

Conversation

ChSonnabend
Copy link
Contributor

Adding a library for the execution of ONNX models with GPU execution provider and float16 datatype (OrtDataType::Float16_t -> a wrapper around a uint16_t)

@ChSonnabend
Copy link
Contributor Author

Ping @davidrohr

Copy link
Contributor

REQUEST FOR PRODUCTION RELEASES:
To request your PR to be included in production software, please add the corresponding labels called "async-" to your PR. Add the labels directly (if you have the permissions) or add a comment of the form (note that labels are separated by a ",")

+async-label <label1>, <label2>, !<label3> ...

This will add <label1> and <label2> and removes <label3>.

The following labels are available
async-2023-pbpb-apass3
async-2023-pbpb-apass4
async-2023-pp-apass4
async-2024-pp-apass1
async-2022-pp-apass7
async-2024-pp-cpass0

o2_add_library(ML
SOURCES src/ort_interface.cxx
TARGETVARNAME targetName
PUBLIC_LINK_LIBRARIES O2::Framework ONNXRuntime::ONNXRuntime)
Copy link
Collaborator

Choose a reason for hiding this comment

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

brauchst du hier PUBLIC, oder geht PRIVATE auch?

// or submit itself to any jurisdiction.

/// \file GPUORTFloat16.h
/// \author Christian Sonnabend <christian.sonnabend@cern.ch>
Copy link
Collaborator

Choose a reason for hiding this comment

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

Hast du das selbst geschrieben, oder von github kopiert?
In letzten Fall musst du den korrekten Autor angeben, und schauen ob der code unter GPL3 lizensiert ist. Jedenfalls haben wir kein copyright dafür.
Ansonten leg ein 3rdparty Verzeichnis wie Framework/Foundation/3rdparty oder GPU/GPUTracking/display/3rdparty an. Das wird dann auch im CodeChecker ausgenommen: https://github.com/alisw/alidist/blob/1916f6d88d42959097998d9481b517dc1c1ea84d/o2checkcode.sh#L71

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ja, das ist komplett 3rd party von ONNX. Die source geb ich auch im header an, da kopier ich dann vielleicht einfach direkt die file vom ONNX repo und pack die in das Verzeichnis das du oben angegeben hast

#include <thread>

// O2 includes
#include "GPUORTFloat16.h"
Copy link
Collaborator

Choose a reason for hiding this comment

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

Wenn du den Datentyp hier nicht benutzt, solltest du den header auch nicht includen.

@@ -81,6 +81,11 @@ if(OpenMP_CXX_FOUND)
target_link_libraries(${mergertargetName} PRIVATE OpenMP::OpenMP_CXX)
endif()

o2_add_executable(onnx-interface
Copy link
Collaborator

Choose a reason for hiding this comment

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

Wenn es ein test ist, vielleicht o2_add_test?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Den workflow kann ich für einen PR, der gemerged wird, sowie so weglassen. Das ist nur momentan zum testen und würd ich dann rausnehmen

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants