Samsung / ONE

On-device Neural Engine
Other
426 stars 151 forks source link

[Compiler frontend] Support Windows platform #8308

Open seanshpark opened 2 years ago

seanshpark commented 2 years ago

Do we need to support Windows platform?

seanshpark commented 2 years ago

From https://github.com/Samsung/ONE/pull/8290#discussion_r789278858

Before the draft, we need to discuss

  1. how much do we contribute to building on windows. I personally prefer working on windows env so I'm doing this task. But, ONE officially doesn't support Windows. How much do we contribute to windows? (of course, I can contribute this as a personal developer NOT an official ONE developer.)
  2. Anyway, if I do this task, how to do it? @llFreetimell suggests making a new directory like WinUtil and wrapping functions like setenv().
seanshpark commented 2 years ago

@YongseopKim , could you please share why you introduced windows support? Is it I personally prefer working on windows env so I'm doing this task. ?

seanshpark commented 2 years ago

How much do we contribute to windows?

There was once to run in Windows but currently it is not maintained anymore as I know of.

YongseopKim commented 2 years ago

could you please share why you introduced windows support? Is it I personally prefer working on windows env so I'm doing this task. ?

yes, just my preference. I don't think supporting windows with native windows code is essential. This could be also by like ssh.

YongseopKim commented 2 years ago

And, your comment from https://github.com/Samsung/ONE/pull/8290/files#r789283755

Besides supporting for Windows, I don't think I will accept codes using like #if defined(MINGW32). As I wrote, introducing this one will eventually permit codes like this and that will lead to hell. (which I had experienced long time ago that I don't want to experience again)

I definitely agree with you. I don't want to make it mass.

So I'd like you to treat my trial like #8290 as just a kind of testing.

sorry for korean 좀 더 명확하게 표현을 하고 싶어 한글로 적습니다. (재택근무만 아니었다면... 😥) one-vscode 를 윈도우즈에서 빌드하면서, one toolchain이 필요해서 이거 될려나 하는 생각에 빌딩을 시도해봤습니다. (윈도우즈 PC에만 IO를 연결했음.) draft의 코드 중에서 윈도우즈 빌딩과 무관하게 고칠 수 있는 코드를 PR 중에 있습니다. 그리고 setenv 같은 현재 mingw에서 지원하지 못 하는 경우 어떻게 할 것인지는 저희가 windows platform을 공식적으로 지원하느냐에 달린 것 같습니다. 제가 생각해도 멀티 플랫폼 생각하며 코드를 짜게 되면, 분명히 멀티 플랫폼을 위한 코드가 필요하게 되고 코드의 복잡도가 높아질 것 같습니다. 이 부분에서 과연 굳이 지원해야 하나 하는 생각이 듭니다.
YongseopKim commented 2 years ago

If we support windows platform with ssh, I'll take it because the task could be done in ONE-vscode. (if no one takes 😉)

seanshpark commented 2 years ago

sorry for korean

Thanks for explaining in detail :) official support for Windows; @lemmaa , any comments?

If we support windows platform with ssh

I'm not sure I understand this correctly but currently I am working on Windows+VScode for ONE development.

I'll take it because the task could be done in ONE-vscode.

ONE-vscode is for using ONE as compiler tool for model or application developer.

I understand supporting ONE to run in Windows native is somewhat different to above two things.