furiosa-ai / device-api

APIs that offers NPU devices' information and allow to control the devices
Apache License 2.0
5 stars 8 forks source link

Add Type State machine to DeviceConfig's Builder #36

Closed sukyoungjeong-furiosa closed 2 years ago

sukyoungjeong-furiosa commented 2 years ago

depends on #35

resolves #34

This CL resolves nit problems with WarboyConfigBuilder usage such as:

let config = DeviceConfig::warboy().fused().multicore().fused(); // code like this is permitted

Plus, WarboyConfigBuilder is renamed to DeviceConfigBuilder.

sukyoungjeong-furiosa commented 2 years ago

35와 사소한 conflict가 있는데 리뷰를 봐주시면 머지할 때 수정하겠습니다.

현재 usage에서는 DeviceMode만 generic으로 두면 충분한데요,

https://github.com/furiosa-ai/device-api/issues/17 ("Using device configs with a random device"), https://github.com/furiosa-ai/npu-tools/issues/3058 ("추가로 count의 경우 머신에 설치되어 있는 npu들을 최대한 활용하는 옵션도 있는게 좋을까 하는 생각이 듭니다." 같은 의견들을 참고해서 arch/count도 generic으로 만들었습니다.

libc-furiosa commented 2 years ago

머지하겠습니다. 수고하셨습니다.