Tensorflow: рдУрдкрдирд╕реАрдПрд▓ рд╕рдорд░реНрдерди

рдХреЛ рдирд┐рд░реНрдорд┐рдд 9 рдирд╡ре░ 2015  ┬╖  541рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: tensorflow/tensorflow

рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ TensorFlow рдХреЗрд╡рд▓ CUDA рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред OpenCL рд╕рдорд░реНрдерди рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛?

contributions welcome

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ Google рдиреЗ рдорд╛рд▓рд┐рдХрд╛рдирд╛ CUDA рдХреЗ рд▓рд┐рдП OpenCL рдХреЛ рдЦреЛрд▓ рджрд┐рдпрд╛ред
im-just-saying

рд╕рднреА 541 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ Google рдиреЗ рдорд╛рд▓рд┐рдХрд╛рдирд╛ CUDA рдХреЗ рд▓рд┐рдП OpenCL рдХреЛ рдЦреЛрд▓ рджрд┐рдпрд╛ред
im-just-saying

рдХрдо рд╕реЗ рдХрдо, рдИрдЬрд┐рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдУрдкрдирд╕реАрдПрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

:+1:

:+1:

:+1:

рдЕрдВрдЧреВрдареЗ рдКрдкрд░ рдФрд░ рд╡рд╣ рд╕рдмред

рдореБрдЭреЗ рдУрдкрдирд╕реАрдПрд▓ рдХреЗ рд╕рд╛рде рдЯреЗрдВрд╕рд░ рдлреНрд▓реЛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреАред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдУрдкрдирд╕реАрдПрд▓ рдХреИрдлреЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рд╣реИред https://github.com/amd/OpenCL-caffeред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╣рд▓реНрдХреЗ рддрд░реАрдХреЗ рд╕реЗ рдПрдХреАрдХреГрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдХреНрдпрд╛ рдЗрд╕ рдкрд░ рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рд╕реА рдХреА рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ?

@gujunli рдПрдПрдордбреА рдХреЛ рдпрд╣рд╛рдВ рджреЗрдЦрдХрд░ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛ред /рд╕реАрд╕реА @naibaf7 @lunochod

рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

:+1:

/cc @lukeiwanski Eigen/OpenCL/SYCL . рдХреЗ рд▓рд┐рдП

@gujunli рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦреЗрдЧрд╛ред рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдЖрдк рдХрдм рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред

рдирдорд╕реНрддреЗ,

рдпрд╣рд╛рдВ рдХреЛрдбрдкреНрд▓реЗ рдореЗрдВ рд╣рдо рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ (рдУрдкрдирд╕реАрдПрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рдЖрдзреБрдирд┐рдХ рд╕реА ++ рдкрд░рдд) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдЬреАрдкреАрдпреВ рдкрд░ рдЪрд▓ рд░рд╣реЗ рдИрдЬрд┐рди рдХреЗ рдЯреЗрдВрд╕рд░ рдХреЛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВред рдЕрдм рддрдХ рд╣рдордиреЗ рдЬреЛ рдХреБрдЫ рднреА рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рд╣реИ, рдЙрд╕рд╕реЗ GPU рдЯреЗрдВрд╕рд░ рдбрд┐рдЬрд╝рд╛рдЗрди CUDA рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдирд┐рдХрдЯрддрд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЙрдбрд▓ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ SYCL рдФрд░ OpenCL 1.2 рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдЕрдЧрд░ рдХрд┐рд╕реА рдХреА рдЧрд╣рд░реА рдЦреБрджрд╛рдИ/рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рддреЛ рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред

рдзрдиреНрдпрд╡рд╛рдж,
рд▓реНрдпреВрдХ

@lukeiwanski рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @benoitsteiner рдиреЗ eigen рдХреЗ рдЯреЗрдВрд╕рд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд╛рд▓реЗ рд╣рд┐рд╕реНрд╕реЗ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ред

: +1: рдЕрдЧрд░ рдХреЛрдИ рдпреЛрдЬрдирд╛ рдмрдирд╛рддрд╛ рд╣реИ, рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдХреБрдЫ рдУрдкрдирд╕реАрдПрд▓/рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдХреЛрдб рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдореИрдВ рдУрдкрдирд╕реАрдПрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реИрдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдмреВрд╕реНрдЯ.рдХрдВрдкреНрдпреВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ (рдпрд╣ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдХрд░реНрдиреЗрд▓, рдкрд░реАрдХреНрд╖рдг, рдЯреЗрдореНрдкрд▓реЗрдЯрд┐рдВрдЧ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ)ред

+1

:+1:

рдирдорд╕реНрддреЗ,

рдмрд╕ рдЖрдкрдХреЛ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрднреА рднреА рдЬрд╛рдВрдЪ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓/рдУрдкрдирд╕реАрдПрд▓ 1.2 рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЙрдбрд▓ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рдлрд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдИрдЬреЗрди рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рдХреИрд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдХ рдмрд╛рд░ рдЬрдм рд╣рдо рдПрдХ рдЙрдЪрд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдЖрддреЗ рд╣реИрдВ рдЬреЛ рд╡рд┐рд╖рдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЙрдбрд▓ (рди рдХреЗрд╡рд▓ рдУрдкрдирд╕реАрдПрд▓ / рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓) рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рддреИрдпрд╛рд░ рдХрд░реЗрдВрдЧреЗред

рдзрдиреНрдпрд╡рд╛рдж,
рд▓реНрдпреВрдХ

рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдЕрдкрдбреЗрдЯ рд░рдЦреЗрдВред рдореИрдВрдиреЗ AMD рдХреЗ рд▓рд┐рдП opencl-caffe рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ рднреА рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ
рдЯреЗрдВрд╕рд░ рдкреНрд░рд╡рд╛рд╣ред

рдзрдиреНрдпрд╡рд╛рджред
рдЬреБрдирд▓реБ
8 рджрд┐рд╕рдВрдмрд░ 2015 рдХреЛ рд╕реБрдмрд╣ 10:19 рдмрдЬреЗ, "рд▓реНрдпреВрдХ рдЗрд╡рд╛рдиреНрд╕реНрдХреА" рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдирдорд╕реНрддреЗ,

рдмрд╕ рдЖрдкрдХреЛ рдкреЛрд╕реНрдЯ рдХрд░рддреЗ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрднреА рднреА рдЬрд╛рдВрдЪ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдХреИрд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ
SYCL/OpenCL 1.2 рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЙрдбрд▓ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рдлрд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Eigen рдЗрдВрдЯрд░рдлрд╝реЗрд╕ред
рдПрдХ рдмрд╛рд░ рдЬрдм рд╣рдо рдПрдХ рдЙрдЪрд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдЖрддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рддреИрдпрд╛рд░ рдХрд░реЗрдВрдЧреЗред

рдзрдиреНрдпрд╡рд╛рдж,
рд▓реНрдпреВрдХ

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/tensorflow/tensorflow/issues/22#issuecomment -162967662
.

/cc @ptillet @gongzg рдХреНрдпрд╛ рдЗрд╕рдореЗрдВ рдЗрдВрдЯреЗрд▓ рдХреА рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ? рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╢рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рдпрд╣рд╛рдВ OPENCL рдХреЛ рдХреИрдл рдХреА рддрд░рд╣ рдЦрдВрдбрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ AMD рдХрд╛рдВрдЯрд╛, рдЗрдВрдЯреЗрд▓ рдЕрдирдорд░реНрдЬреНрдб PRs, рдПрдХ рдЕрдиреНрдп рдЕрд░реНрдз-рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ AMD PR, рдФрд░ рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ PR (рд╕рд╛рде рд╣реА рджреЛ рдкреБрд░рд╛рдиреЗ рдкрд░рд┐рддреНрдпрдХреНрдд Opencl рдкреНрд░рдпрд╛рд╕) рд╣реИрдВред рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ рддреЛ рд╡рд╣ https://github.com/BVLC/caffe/pull/2610 рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓ рд╕рдХрддрд╛ рд╣реИред

@bhack рд╣рдореЗрдВ рдЗрд╕рдореЗрдВ рд░реВрдЪрд┐ рд╣реИред рдореБрдЭреЗ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдпрджрд┐ рдИрдЬреЗрди рдХреЗ рдУрдкрдирд╕реАрдПрд▓/рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ, рддреЛ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд╣рдо рдЗрдВрдЯреЗрд▓ рдХреА рдУрд░ рд╕реЗ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

:+1:

https://github.com/ptillet/isaac рдкрд░ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдкрд╣рд▓ рднреА рдЕрдЧрд░ рдпрд╣рд╛рдВ рд╣рдо Eigen tensor рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред

рдореИрдВ рднреА рдпреЛрдЧрджрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред @benoitsteiner рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдЗрд╕реЗ рд░реЛрдбрдореИрдк рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рд▓реЗрдХрд┐рди рдпреЛрдЧрджрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЯреИрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рддрд╛рдХрд┐ рджрд┐рд╢рд╛/рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХреЗред

рдореИрдВ рдЗрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗ рд╕рдХрддрд╛ рд╣реВрдВред рдУрдкрдирд╕реАрдПрд▓ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдХреМрди рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ
рдЕрдм рдЯреЗрдВрд╕рд░ рдкреНрд░рд╡рд╛рд╣?

рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред
рдЬреБрдирд▓рд┐

рдордВрдЧрд▓рд╡рд╛рд░, 19 рдЬрдирд╡рд░реА, 2016 рдХреЛ рд╕реБрдмрд╣ 7:50 рдмрдЬреЗ, bhack [email protected] рдиреЗ рд▓рд┐рдЦрд╛:

рдЗрд╕реЗ рд░реЛрдбрдореИрдк рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рд▓реЗрдХрд┐рди рдпреЛрдЧрджрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рддрд╛рдХрд┐ a
рджрд┐рд╢рд╛/рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/tensorflow/tensorflow/issues/22#issuecomment -172894538
.


рдЬреБрдирд▓реА рдЧреБ--ш░╖ф┐Кф╕╜
рд╕рдордиреНрд╡рд┐рдд рд╡рд┐рдЬреНрдЮрд╛рди рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛
рдЕрд░рдмрд╛рдирд╛ - рдХреЗрдВрдкреЗрди рдореЗрдВ рдЗрд▓рд┐рдиреЛрдЗрд╕ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп


рдореИрдВрдиреЗ рдмреЗрдиреЛрдЗрдЯ рдХреЛ рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдЧреНрд░рд╣рдг рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕рдиреЗ рд╕реНрд╡рдпрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд╕реМрдВрдкрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдпрд╣ рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ рдЬреБрдирд▓реА! рд╢рд╛рдпрдж рдЗрдЪреНрдЫреБрдХ рдкрд╛рд░реНрдЯрд┐рдпреЛрдВ рдХреЗ рдИрдореЗрд▓ рдпрд╛ рдлреЛрд░рдо рдереНрд░реЗрдб рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ?

@benoitsteiner рдЗрдЪреНрдЫреБрдХ рдкрд╛рд░реНрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирддрд╛ рд╣реИ рдЬреЛ рд╢рд╛рдпрдж рдирд╣реАрдВ рджрд┐рдЦрд╛рдпрд╛ рд╣реЛ
рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ (рдпрд╛ рдпрд╣ рдореБрджреНрджрд╛)ред рдореИрдВ рдЙрд╕рдХреЗ рд▓рд┐рдП рд╕рдордиреНрд╡рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реВрдБрдЧрд╛
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╣рдо рдХрд╛рдо рдХреА рдирдХрд▓ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрддреЗ рд╣реИрдВред

рдордВрдЧрд▓рд╡рд╛рд░, 19 рдЬрдирд╡рд░реА, 2016 рдХреЛ рдкреВрд░реНрд╡рд╛рд╣реНрди 11:42 рдмрдЬреЗ рдбреИрди рдореИрдХрд▓реЙрдШрд▓рд┐рди рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рдореИрдВрдиреЗ рдмреЗрдиреЛрдЗрдЯ рдХреЛ рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдЧреНрд░рд╣рдг рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕рдиреЗ рд╕реНрд╡рдпрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд╕реМрдВрдкрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ
рдЖрдкрдХреЛ рдорд┐рд▓ рдЧрдпрд╛ рдЬреБрдирд▓реА! рд╢рд╛рдпрдж рдИрдореЗрд▓ рдпрд╛ рдлреЛрд░рдо рдереНрд░реЗрдб рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВ
рдЗрдЪреНрдЫреБрдХ рджрд▓?

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/tensorflow/tensorflow/issues/22#issuecomment -172963537
.

рдореЗрд░реА рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред рдХреНрдпрд╛ рдХреЛрдИ рд░реЛрдбрдореИрдк рд╣реИ?

19 рдЬрдирд╡рд░реА 2016 рдХреЛ рдкреВрд░реНрд╡рд╛рд╣реНрди 11:46 рдмрдЬреЗ, рдорд╛рд░реНрдЯрд┐рди рд╡рд┐рдХ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

@benoitsteiner рдЗрдЪреНрдЫреБрдХ рдкрд╛рд░реНрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирддрд╛ рд╣реИ рдЬреЛ рд╢рд╛рдпрдж рдирд╣реАрдВ рджрд┐рдЦрд╛рдпрд╛ рд╣реЛ
рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ (рдпрд╛ рдпрд╣ рдореБрджреНрджрд╛)ред рдореИрдВ рдЙрд╕рдХреЗ рд▓рд┐рдП рд╕рдордиреНрд╡рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реВрдБрдЧрд╛
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╣рдо рдХрд╛рдо рдХреА рдирдХрд▓ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрддреЗ рд╣реИрдВред

рдордВрдЧрд▓рд╡рд╛рд░, 19 рдЬрдирд╡рд░реА, 2016 рдХреЛ рдкреВрд░реНрд╡рд╛рд╣реНрди 11:42 рдмрдЬреЗ рдбреИрди рдореИрдХрд▓реЙрдШрд▓рд┐рди рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рдореИрдВрдиреЗ рдмреЗрдиреЛрдЗрдЯ рдХреЛ рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдЧреНрд░рд╣рдг рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕рдиреЗ рд╕реНрд╡рдпрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд╕реМрдВрдкрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ
рдЖрдкрдХреЛ рдорд┐рд▓ рдЧрдпрд╛ рдЬреБрдирд▓реА! рд╢рд╛рдпрдж рдИрдореЗрд▓ рдпрд╛ рдлреЛрд░рдо рдереНрд░реЗрдб рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВ
рдЗрдЪреНрдЫреБрдХ рджрд▓?

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/tensorflow/tensorflow/issues/22#issuecomment -172963537
.

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВред

рдХреНрдпрд╛ CUDA рдирд┐рд░реНрднрд░рддрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ рдЬрд┐рд╕ рдкрд░ Tensorflow рдирд┐рд░реНрднрд░ рд╣реИ?

рдЗрд╕рд╕реЗ рдпрд╣ рджреЗрдЦрдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреА рдХрд┐ рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рддрддреНрдХрд╛рд▓ рдУрдкрдирд╕реАрдПрд▓ рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

@hsaputra
clFFT, clBLAS (рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рд╡рд┐рдпрдирд╛рд╕реАрдПрд▓) рд╣реИред рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЬрдирд░реЗрдЯрд░ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ (рдХреЛрдИ curand рдирд╣реАрдВ), рдпрд╛ рддреЛ CPU рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ GPU рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ рдпрд╛ RNG рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЕрдиреНрдп рдореМрдЬреВрджрд╛ рдХрд░реНрдиреЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдиреБрдХрд╕рд╛рди рдлрд┐рд░ рд╕реЗ рдХреБрд╢рд▓ рдХрдирд╡рд▓реНрд╢рди рдЗрдореНрдкреНрд▓реАрдореЗрдВрдЯреЗрд╢рди (cuDNN рдЬреИрд╕рд╛ рдХреБрдЫ) рд╣реЛрдЧрд╛ред

рдпрд╣рд╛рдВ рдРрд╕реЗ рдореБрджреНрджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдиреБрднрд╡ рд╣реИ:
https://github.com/BVLC/caffe/pull/2610
https://github.com/BVLC/caffe/pull/2195
https://github.com/amd/OpenCL-caffe

Tensorflow Eigen рдХреЗ рд▓рд┐рдП рдЕрдкрд╕реНрдЯреНрд░реАрдо рдЯреЗрдиреНрд╕рд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдИрдЬрд┐рди рдХреЛ рдУрдкрдирд╕реАрдПрд▓/рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рд╕рдорд░реНрдерди рдХреА рдЬрд░реВрд░рдд рд╣реИред рдпрд╣ рдзрд╛рдЧрд╛ рджреЗрдЦреЗрдВ

рдзрдиреНрдпрд╡рд╛рдж @naibaf7ред рд╣рд╛рдБ, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЕрднреА OpenCL рдХреЗ рд▓рд┐рдП cuDNN рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╡рд┐рдХрд▓реНрдк рд╣реИред

рд╡реЗрдмрд╕рд╛рдЗрдЯ http://opencl.org рдЗрд╕реА рддрд░рд╣ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдИ рдЧрдИ рд╣реИ! рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЙрдкрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ https://github.com/OpenCL/ рдкрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рд╣реИ - рдмрд╛рдж рдореЗрдВ рд╣рдо рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдб-рд╕рд░реНрд╡рд░ рдЬреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдореЗрдВ рд╣рдорд╛рд░реА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрдИ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдкреВрд░реА рдЧрддрд┐ рд╕реЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб рдХреИрд╕реЗ рд▓рд┐рдЦреЗрдВред

рд╣рдо рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдЬреАрдИрдЬреАрдПрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдкрд╣рд▓ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХрд░рдиреЗ рдореЗрдВ рднреА рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИред

@bhack рдЙрд╕ рдзрд╛рдЧреЗ рд╕реЗ рдФрд░ рдпрд╣рд╛рдБ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ @lukeiwanski рдЗрд╕реЗ рджреЗрдЦ рд░рд╣рд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЗрдЪреНрдЫреБрдХ рд▓реЛрдЧ рд╣реИрдВ, рд╣рдореЗрдВ рд╕рдордиреНрд╡рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ @benoitsteiner , @lukeiwanski рдпрд╛ @gujunli рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдмреЗрдиреЛрдЗрдЯ рд╢рд╛рдВрдд рд░рд╣рд╛ рд╣реИ, рд╢рд╛рдпрдж рд╡рд╣ рдЫреБрдЯреНрдЯреА рдкрд░ рд╣реИред

рдореБрдЭреЗ рдЗрд╕ рдкрд╣рд▓ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ред

рдирдорд╕реНрддреЗ,

рд╣рдо рдУрдкрдирд╕реАрдПрд▓ рдХреЗ рд▓рд┐рдП рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдореЗрдВ рдИрдЬреЗрди рдХреЗ рдЯреЗрдВрд╕рд░ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХрд╛ рд╕рдордиреНрд╡рдп рдХрд░реЗрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬреНрдпрд╛рджрд╛рддрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рддрдХ рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИред

рд╣рдо рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЛрдб рдЖрдзрд╛рд░ рдкрд░ рдХрдо рдЖрдХреНрд░рдордг рдХрд░реЗрдЧрд╛ред SYCL рдПрдХрд▓-рд╕реНрд░реЛрдд C++ рдЯреЗрдореНрдкреНрд▓реЗрдЯреЗрдб рдореЙрдбрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬреЛ eigen рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рд░реЛрдб рдореИрдк рдбрд┐рдЬрд╝рд╛рдЗрди рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реИ рдЗрд╕рд▓рд┐рдП рдЕрдм рдпрд╣ рдмрд╣реБрдд рд▓рдВрдмрд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдзрдиреНрдпрд╡рд╛рдж,
рд▓реНрдпреВрдХ

@lukeiwanski рдХреНрдпрд╛ рдЖрдк рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдХреЗ рд╕рдВрдкрд░реНрдХ рдореЗрдВ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Eigen рдореЗрдВ рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?

+1

рдЕрдЪреНрдЫреА рдЦрдмрд░ @lukeiwanski , рд╣рдореЗрдВ рдХрд┐рд╕реА рднреА рдорджрдж рдХреА рдЬрд░реВрд░рдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдПрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдХреЗ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдХреНрдпрд╛ рдпрд╣ рдбреЗрд╡рд▓рдкрд░реНрд╕/рд╢реЛрдзрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛? рдХрд┐рд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░?

@lukeiwanski SYCL Eigen рдХреЗ рд╕рд╛рде рд╢рд╛рдорд┐рд▓ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдЯрд╛рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдЬрд╛рдиреЗ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рд▓рдЧрддрд╛ рд╣реИред рдореИрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рддрдВрддреНрд░рд┐рдХрд╛ рдЬрд╛рд▓ рдФрд░ рд░реИрдЦрд┐рдХ рдмреАрдЬрдЧрдгрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╡рд┐рдХрд╛рд╕ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдУрдкрдирд╕реАрдПрд▓ рдЕрдиреБрднрд╡ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдиреБрднрд╡реА рд╕реА ++ рдбреЗрд╡рд▓рдкрд░ рд╣реВрдВред рдореБрдЭреЗ рдЗрд╕ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рдорджрдж рдХрд░рдирд╛ рдФрд░ рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд╛рд╕ рд╢реБрд░реВ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ред

@bhack рд╣рдо @benoitsteiner рдХреЗ рд╕рдВрдкрд░реНрдХ рдореЗрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣рдо рдЕрдкрд╕реНрдЯреНрд░реАрдо рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред

@DanMcLaughlin , @ville-k рд╣рдо SYCL, ComputeCpp (https://www.codeplay.com/products/computecpp) рдХреЗ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдореЗрд░реА рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдкрд░ рдИрдореЗрд▓ рдкрддреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореБрдЭрд╕реЗ рдСрдл-рд▓рд┐рд╕реНрдЯ рд╕рдВрдкрд░реНрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@lukeiwanski рдХреНрдпрд╛ рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдХреЛрдИ рдЕрджреНрдпрддрди/рдЕрдиреБрдорд╛рди рд╣реИ?

+1ред
рдореЗрд░реЗ рдкрд╛рд╕ рд▓реИрдкрдЯреЙрдк рдореЗрдВ рдПрдПрдордбреА рдЬреАрдкреАрдпреВ рдФрд░ рдЗрдВрдЯреЗрд▓ рдЬреАрдкреАрдпреВ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рдореЗрдВ рдУрдкрдирд╕реАрдПрд▓ рдбреНрд░рд╛рдЗрд╡рд░ рд╣реИрдВ рдФрд░ рдПрдПрдордбреА рдХрд╛ рд╕рдорд░реНрдерди рдХрд╛рдлреА рдмреЗрд╣рддрд░ рд▓рдЧрддрд╛ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ 2 рдУрдкрдирд╕реАрдПрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рд╣реИрдВред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдУрдкрдирд╕реАрдПрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрдХреЗрд▓ рдХрд░реЗрдВрдЧреЗред

рдирдорд╕реНрддреЗ,

рд░реБрдЪрд┐ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЬреЛ рдХреБрдЫ рднреА рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рдкреНрд░рддрд┐рдЧрдорди рдХрд╛ рдкрд░рд┐рдЪрдп рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред
рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП @benoitsteiner рдХреЗ рд╕рдВрдкрд░реНрдХ рдореЗрдВ рд╣реИрдВ рдХрд┐ рд╣рдордиреЗ рдЕрдм рддрдХ рдЬреЛ рдХрд┐рдпрд╛ рд╣реИ рдЙрд╕рдХреЗ рд╕рд╛рде рддрд╛рд▓рдореЗрд▓ рдмрд┐рдард╛ рд░рд╣реЗ рд╣реИрдВред

рд╣рдо рдЕрднреА рднреА рдПрдХреАрдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реЛрдб рдореИрдк рддреИрдпрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдЗрд╕реЗ рдХреБрдЫ рд╣рдлрд╝реНрддреЗ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╡рд┐рд╡рд░рдг рд╣реИрдВред

рд╣рдорд╛рд░рд╛ рд▓рдХреНрд╖реНрдп рдЗрд╕ рд╕рд╛рд▓ рдХреЗ рдЕрдВрдд рддрдХ OpenCL рдХреЛ Eigen рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ TensorFlow рдореЗрдВ рд▓рд╛рдирд╛ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж,

рдЗрдЪреНрдЫреБрдХред рдпреЛрдЧрджрд╛рди рджреЗрдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗред

рдареАрдХ рд╣реИ рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдбрдкреНрд▓реЗ рдХрд╛ рдПрдХ рдкреНрд░рдпрд╛рд╕ рд╣реИ рдЬрд┐рд╕рдореЗрдВ Google рдЖрдВрддрд░рд┐рдХ рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рд┐рдВрдХ рд╣реИред рдпрд╣рд╛рдБ AMD рдФрд░ Intel рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рдХреНрдпрд╛ рднреВрдорд┐рдХрд╛ рд╣реИ?

/cc @keryell рдпрджрд┐ рдЖрдк SYCL/FPGA рдмреНрд░рд╣реНрдорд╛рдВрдб рд╕реЗ рдЗрд╕ рдкрд░ рдХреЛрдИ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ

рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрд╕ рдЪрд░реНрдЪрд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдпреЛрдЧрджрд╛рди рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реА рдХреНрд╖рдорд╛рдпрд╛рдЪрдирд╛, рдореЗрд░реА рдерд╛рд▓реА рдкрд┐рдЫрд▓реЗ 2 рд╕рдкреНрддрд╛рд╣ рд╕реЗ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рднрд░реА рд╣реБрдИ рд╣реИред

рдореИрдВ TensorFlow рдХреА рдУрд░ рд╕реЗ OpenCL рдкреНрд░рдпрд╛рд╕ рдХрд╛ рд╕рдордиреНрд╡рдп рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рд╣рдорд╛рд░реА рд╡рд░реНрддрдорд╛рди рд╕реЛрдЪ рд╣реИ:

  • TensorFlow c++11 рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрд╕рдиреЗ "рдПрдХрд▓ рд╕реНрд░реЛрдд" рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдкрдирд╛рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП SYCL рдПрдХ рдмреЗрд╣рддрд░реАрди рдлрд┐рдЯ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред
  • рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдУрдкрдирд╕реАрдПрд▓ рдХрд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕ рдЕрдВрддрд░ рдХреЛ рдкрд╛рдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдбрдкреНрд▓реЗ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдХреЛрдбрдкреНрд▓реЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ SYCL рдХреЗ рд▓рд┐рдП Eigen рдЯреЗрдВрд╕рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХрд╛ рдиреЗрддреГрддреНрд╡ рдХрд░ рд░рд╣рд╛ рд╣реИред
  • TensorFlow NVidia GPU рдкрд░ рдХрдирд╡рд▓реНрд╢рди рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП cuDNN рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд░ рдХреЛрдИ рдУрдкрдирд╕реАрдПрд▓ рд╕рдордХрдХреНрд╖ рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд░рдЦрддрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

рдкреНрд░рдпрд╛рд╕ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рдмрдирд╛рдИ: [email protected]ред

@bhack рдпрдХреАрди рд╣реИ рдХрд┐ рдореБрдЭреЗ FPGA рдкрд░ рд╣рд╛рдИ-рдПрдВрдб C++ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ :-)
TensorFlow triSYCL рдХреЗ рд▓рд┐рдП рднреА рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рддреНрдпрд╛рдкрди рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓рд╛ рд▓рдЧрддрд╛ рд╣реИред
рд╡реИрд╕реЗ, рдЕрдЧрд░ рдпрд╣рд╛рдВ рдХреБрдЫ рд▓реЛрдЧ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдХреБрдЫ рдЗрдВрдЯрд░реНрдирд╢рд┐рдк рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реИрдВ, рддреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдкрдж рд╣реИрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдбрдкреНрд▓реЗ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреЛ рднреА рдвреВрдВрдв рд░рд╣рд╛ рд╣реИ, рдЕрдЧрд░ рдореБрдЭреЗ рдЙрдирдХреА рд╡реЗрдм рд╕рд╛рдЗрдЯ рдкрд░ рднрд░реЛрд╕рд╛ рд╣реИред

рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ @karlrupp рдФрд░ @hughperkins рдХреА рд░рд╛рдп рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд╡реЗ рдирдП Google рд╕рдореВрд╣ рдХреА рдЪрд░реНрдЪрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред

@benoitsteiner рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ @KhronosGroup (Google, Nvidia, Amd, Intel, Codeplay, Xilinx рдЖрджрд┐) рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕рднреА рднрд╛рдЧреАрджрд╛рд░ рдПрдХ рдорд╛рдирдХреАрдХреГрдд рддрд░реАрдХреЗ рд╕реЗ API рдЬреИрд╕реЗ рдХреБрдбрди рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдВрдЧреЗред рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЦреНрд░реЛрдиреЛрд╕ рдУрдкрдирд╡реАрдПрдХреНрд╕ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬрд╝рди рдорд╛рдирдХреАрдХрд░рдг рдкреНрд░рдпрд╛рд╕ рд▓реЗрдХрд┐рди рдЧрд╣рди рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдПред

@bhack рдХреМрди рд╕рд╛ рдирдпрд╛ Google рд╕рдореВрд╣?

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, OpenCL рдФрд░ CUDA рдмрд╣реБрдд рдЕрд▓рдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИрдВред CUDA рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдХрдВрдкрдиреА рдХрд╛ рд╣рд░ рдЪреАрдЬ рдкрд░ рдкреВрд░рд╛ рдирд┐рдпрдВрддреНрд░рдг рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдмрд╛рдЗрдирд░реА рдмреНрд▓реЙрдмреНрд╕ рдХреЛ рдПрдореНрдмреЗрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХреМрди рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЕрдВрддрд┐рдо рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдореЗрдВ рдХреНрдпрд╛ рд╣реИред рдпрд╣ рдУрдкрдирд╕реАрдПрд▓ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдХреЛрдИ рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдкрде рд╕реЗ рдиреАрдЪреЗ рдирд╣реАрдВ рдЬрд╛рддрд╛ (рдореБрдЭреЗ рдореЗрд░реА рдЪрд┐рдВрддрд╛рдПрдВ рд╣реИрдВ ...) рдФрд░ рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдХрдВрдкрд╛рдЗрд▓рд░ рд╡рд┐рдХреНрд░реЗрддрд╛ рдХрд╛ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд▓рдХреНрд╖реНрдп рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ (рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЕрд╕рдВрднрд╡ рдпрд╛ рдЕрд╕рдВрднрд╡) рдкрд░ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг рд╣реИред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдореЗрд░реА рд░рд╛рдп рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдЕрдЪреНрдЫреА рдУрдкрдирд╕реАрдПрд▓-рд╕рдХреНрд╖рдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдпрд╣рд╛рдВ рдФрд░ рд╡рд╣рд╛рдВ рдХреЗрд╡рд▓ рдХреБрдЫ рдмрджрд▓рд╛рд╡реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╢рд╛рдпрдж рд╡рд╣ рдирд╣реАрдВ рдЬреЛ рдЖрдк рд╕реБрдирдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ, рд▓реЗрдХрд┐рди рдЖрдкрдиреЗ рдореЗрд░реА рд░рд╛рдп рдкреВрдЫреА :-)

@karlrupp Google рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдЕрдВрдд рдореЗрдВ https://github.com/tensorflow/tensorflow/issues/22#issuecomment -176406416 рджреЗрдЦреЗрдВред
рдореИрдВрдиреЗ рдЖрдкрдХреА рд░рд╛рдп рдкреВрдЫреА рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдИ рдмреИрдХрдПрдВрдб (рд╕реАрдкреАрдпреВ, рдЬреАрдкреАрдпреВ, рдПрдордЖрдИрд╕реА) рдХреЗ рд╕рд╛рде рдмреАрдЬрдЧрдгрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рдПрдирд╛рд╕реАрдПрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрдиреБрднрд╡ рд╣реИред Tensorflow Eigein рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдирдпрд╛ рдЯреЗрдВрд╕рд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди Google рдЕрдкрд╕реНрдЯреНрд░реАрдо (рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ CUDA рдмреИрдХрдПрдВрдб рдХреЗ рд╕рд╛рде) рджреНрд╡рд╛рд░рд╛ рдпреЛрдЧрджрд╛рди рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЗрд╕ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд╡рд┐рдпрдирд╛рд╕реАрдПрд▓ рдХреЗ рд╕рд╛рде рдЖрдкрдХреЗ рд╕рд╛рдордиреЗ рдЖрдП рд╕рднреА рдиреБрдХрд╕рд╛рдиреЛрдВ рдХрд╛ рдЬреНрдпрд╛рджрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред

@bhack рд╣рдо рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рд╕рд┐рдПрдЯрд▓ рдореЗрдВ рдЖрдордиреЗ-рд╕рд╛рдордиреЗ рдХреА рдмреИрдардХ рдореЗрдВ рд╣реИрдВ рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛ рдХрд┐ рд╣рдо рдбреАрдПрдирдПрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ ... :-)

@keryell рд╕рд┐рдПрдЯрд▓ рдореЗрдВ рдХрд╛рд░рдг рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ;)

@karlrupp рдЖрдк рд╕рд╣реА рд╣реИрдВ, рдУрдкрдирд╕реАрдПрд▓ рдФрд░ рд╕реАрдпреВрдбреАрдП рдмрд╣реБрдд рдЕрд▓рдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП CUDA рдФрд░ OpenMP 4.5 рдореЗрдВ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдПрдХрд▓-рд╕реНрд░реЛрдд рдкрд╣рд▓реВ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЕрддреНрдпрдВрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реА ++ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдорд╛рдирдХ рд╣реИред SYCL рдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рднрд╛рд╖рд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рдФрд░ рдХреБрдЫ OpenMP рдкрд╣рд▓реБрдУрдВ (рдХрд╛рд░реНрдпреЛрдВ) рдХреЗ рд╕рд╛рде рд╕реНрдЯреЗрд░реЙрдпрдб рдкрд░ CUDA рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ SYCL рдбрд┐рд╡рд╛рдЗрд╕ рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реЗ SPIR-V рдХрд░реНрдиреЗрд▓ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХреА рдЬрд╛рддреА рд╣реИред

рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреА рдЪрд┐рдВрддрд╛рдПрдБ SPIR-V рдорд╛рдирдХ (рд╡рд▓реНрдХрди рдФрд░ рдУрдкрдирд╕реАрдПрд▓ рджреБрдирд┐рдпрд╛ рдореЗрдВ nVidia PTX/AMDIL/... рдХреЗ рдкреЛрд░реНрдЯреЗрдмрд▓ рд╕рдордХрдХреНрд╖ рдХреА рддрд░рд╣) рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХрдо рд╣реИрдВ, рдЬрд┐рд╕реЗ OpenCL 2.1 рдФрд░ Vulkan рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИред рддреЛ рд╕реБрдВрджрд░рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ SPIR-V рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдлреНрд░рдВрдЯ-рдПрдВрдб рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рдмрд╣реБрдд рд╡рд┐рд╡рд░рдг рдХреЗ рд╡рд┐рд╢реЗрд╖ рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред LLVM IR рдФрд░ SPIR-V рдХреЗ рдмреАрдЪ рдПрдХ Khronos рдУрдкрди-рд╕реЛрд░реНрд╕ рджреНрд╡рд┐рджрд┐рд╢ рдЕрдиреБрд╡рд╛рджрдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХрд╛рдлреА рдирдП рдХреНрд╖реЗрддреНрд░ рдЦреЛрд▓рддрд╛ рд╣реИред

@keryell рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ SPIR-V рдПрдХ рдХрджрдо рдЖрдЧреЗ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╕рдВрдкреВрд░реНрдг рдЭрдВрдЭрдЯ рдХреЗ рд╕рднреА рдореБрджреНрджреЛрдВ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдЖрдкрдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рдмрд╣реБрдд рд╡рд┐рд╡рд░рдг рдХреЗ рд╡рд┐рд╢реЗрд╖ рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ

рдХреНрдпрд╛ рдпрд╣ OpenCL 1.0 рдорд╛рд░реНрдХреЗрдЯрд┐рдВрдЧ рдХреА рдХреЙрдкреА рдФрд░ рдкреЗрд╕реНрдЯ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рджрд╛рд╡рд╛ рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕рд╛ рд╣реА рд╣реИ? рдпрджрд┐ рдЖрдк рдЕрдзрд┐рдХрддрдо рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рд▓рдХреНрд╖реНрдп рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП _рд╣рдореЗрд╢рд╛_ рдиреАрдЪреЗ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рддреЗрдЬ рдЯреЗрдВрд╕рд░ рд╕рдВрдХреБрдЪрди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред

...рдЬреИрд╕рд╛ рдХрд┐ @ рд╕реНрдХреЙрдЯ-рдЧреНрд░реЗ рдиреЗ рдирд┐рдпреЙрди рдХреЗ рд╕рд╛рде рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛

@karlrupp

рдХреНрдпрд╛ рдпрд╣ OpenCL 1.0 рдорд╛рд░реНрдХреЗрдЯрд┐рдВрдЧ рдХреА рдХреЙрдкреА рдФрд░ рдкреЗрд╕реНрдЯ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рджрд╛рд╡рд╛ рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕рд╛ рд╣реА рд╣реИ?

рд╣рд╛рд╣рд╛ред :-)

рдпрджрд┐ рдЖрдк рдЕрдзрд┐рдХрддрдо рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рд▓рдХреНрд╖реНрдп рд░рдЦрддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рддреЗрдЬ рдЯреЗрдВрд╕рд░ рд╕рдВрдХреБрдЪрди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред

рдмреЗрд╢рдХ, рд▓реЗрдХрд┐рди рджреВрд╕рд░реЗ рдХреНрд░рдо рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдкреВрд░реЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯреЗрдб рд╕реА ++ рдХреЛрдб рдХреЗ рдмрдбрд╝реЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдХреБрдЫ рддреНрд╡рд░рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдЪрд▓рд╛рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИред

рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП, рдпрд╛ рддреЛ рдЖрдк рдЕрдкрдиреЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдмрд╛рдЗрдирд░реА рдХрд░реНрдиреЗрд▓ la NervanaSys рдХреЛ рд╕рд┐рд▓рд╛рдИ рдХрд░рддреЗ рд╣реИрдВ рдпрд╛, рдЪреВрдВрдХрд┐ SYCL рд╢реБрджреНрдз C++ рд╣реИ, рдЖрдк рд▓рдХреНрд╖реНрдп рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ #ifdef рдХреЗ рд╕рд╛рде asm("...") рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред :-) рдЙрд╕ рдиреЗ рдХрд╣рд╛, SPIR-V рд╕реНрд╡рдпрдВ рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рд╣реИ рдФрд░ рдореИрдВ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рдХрд┐ рд╣рдо рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдЗрдирд▓рд╛рдЗрди VHDL рдпрд╛ Verilog рдХреНрдпреЛрдВ рдирд╣реАрдВ рдбрд╛рд▓ рд╕рдХреЗред :-)

рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдареЛрд╕ рд░реВрдк рд╕реЗ, рдЙрдк-рд╕рдореВрд╣ рд╕рдВрдЪрд╛рд▓рди рдХреА рд╣рд╛рд▓рд┐рдпрд╛ рд╢реБрд░реВрдЖрдд рд╕реЗ рдкреЛрд░реНрдЯреЗрдмрд▓ рддрд░реАрдХреЗ рд╕реЗ рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдП рдФрд░ рд╕рд░рд▓ рдЕрдВрддрд░реНрдирд┐рд░реНрдорд┐рдд рддрджрд░реНрде рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред

рд╕реА ++ рджрд┐рд▓рдЪрд╕реНрдк рдореЗрдЯрд╛рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдЬреЛ рдПрдХреНрд╕ рдпрд╛ рд╡рд╛рдИ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓рд┐рдд рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдПрд▓рдмреАрдПрд▓рдПрдПрд╕ рдпрд╛ рдЕрдиреНрдп рдврд╛рдВрдЪреЗ рдЬреИрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛрдб рдЬреЗрдирд░реЗрдЯрд░ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ C++17 рдореЗрдВ N4355 рдЬрд▓реНрдж рдпрд╛ рдмрд╛рдж рдореЗрдВ рдЦреЗрд▓ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИ

@karlrupp , @bhack рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди (рдЯреЗрдВрд╕рд░ рдореЙрдбреНрдпреВрд▓) рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рд╣реИ, рдЬрдмрдХрд┐ рдХреБрдЫ рдкрд░рд┐рдЪрд╛рд▓рдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ (рдЬреИрд╕реЗ рдХреБрдбрди) рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рд╣реИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдЕрдиреБрд╕рд╛рд░ред рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди рд╣рдореЗрдВ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ TensorFlow рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рддреНрд╡рд░рдХ рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕реЗ рдЕрдзрд┐рдХ рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рддрд╛ рд╣реИред

@bhack рд╣рд╛рдБ рдореБрдЭреЗ рдмрд╣реБрдЖрдпрд╛рдореА рд╕рд░рдгрд┐рдпрд╛рдБ рдкрд╕рдВрдж рд╣реИрдВред рд╣рдорд╛рд░реЗ рд╣рд┐рдд рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рднреА, C++ рд╕рдорд┐рддрд┐ рдореЗрдВ SG14 рд╣реИ рдЬреЛ рдЗрди рдореБрджреНрджреЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЛ рдорд╛рдирдХ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред
https://groups.google.com/a/isocpp.org/forum/#!forum/sg14
рдмреЗрд╢рдХ рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдЪрд░реНрдЪрд╛ рдореЗрдВ рд╣реИред :-)

@benoitsteiner рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдкреВрд▓рд┐рдВрдЧ рдФрд░ рдХрдирд╡рд▓реНрд╢рди рдХреЗ рд▓рд┐рдП рдХреБрдбрди рдкрд░ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдХреНрд░реЗрддрд╛ рдЗрд╕ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░реЗрдЧрд╛, рддреЛ рдЕрдкрдиреА рдмрд╛рдЗрдирд░реА рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд╕рд╛рде рдЗрддрдирд╛ рд╕реНрдХреЗрд▓реЗрдмрд▓ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдкреНрд░рджрд░реНрд╢рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдорд╛рдирдХреАрдХреГрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реЛрдВрдЧреЗред

@keryell рдирдП рдПрд╕рдЬреА 14 рд╕реА ++ рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡реЗрдХреНрдЯрд░/рд╕рд┐рдо рдХреЙрд▓ рдПрдЬреЗрдВрдбрд╛ рдореЗрдВ рдореИрдЯреНрд░рд┐рдХреНрд╕/рдЯреЗрдиреНрд╕рд░ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╖рдп рд╣реИрдВред рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдиреЗ рднреА рдХрдирд╡рд▓реНрд╢рди, рдкреВрд▓рд┐рдВрдЧ рдФрд░ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧреА "рд╕реНрдерд┐рд░" рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХреАред рдореБрдЭреЗ рдпрд╣ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдирдХреАрдХрд░рдг рдЙрдкрд╕рдореВрд╣реЛрдВ рдореЗрдВ рдПрдирд╡реАрдбрд┐рдпрд╛, рдЗрдВрдЯреЗрд▓, рдПрдПрдордбреА, рдХреЛрдбрдкреНрд▓реЗ рдЗрддреНрдпрд╛рджрд┐ рдХреЗ рд▓реЛрдЧ рд╣реИрдВ .. рд▓реЗрдХрд┐рди Google рд╕реЗ рдирд╣реАрдВ, рдЕрдЧрд░ рдпрд╣ рдЕрдиреНрдп рд╕рдореВрд╣реЛрдВ рдореЗрдВ рд╣реИред

:+1:

@bhack рд╣рд╛рдБ SG14 рдореЗрдВ рдЕрднреА рддрдХ рдХреЛрдИ рдорд╢реАрди-рд▓рд░реНрдирд┐рдВрдЧ рд╕реНрдЯрд╛рдЗрд▓ рдкреНрд░рд╕реНрддрд╛рд╡ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рднрд╛рдЧреАрджрд╛рд░реА рдЦреБрд▓реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдХреБрдЫ рдкреНрд░рд╕реНрддрд╛рд╡ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред :-) рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж SG6 (рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╡рд┐рд╖рдп) рдЕрдзрд┐рдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЕрднреА рддрдХ рдЙрдирдХреА рдЕрдкрдиреА рдореЗрд▓рд┐рдВрдЧ-рд╕реВрдЪреА/рдордВрдЪ рд╣реИред

@gujunli рдХреНрдпрд╛ OpenCL Caffe Android рдкрд░ рдЪрд▓рддрд╛ рд╣реИ? рдпрд╣рд╛рдБ рдпрд╣ рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕реЗ рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реАрдВ рдФрд░ рдирд╣реАрдВ рдорд┐рд▓рд╛ :) рдПрдХ рдЧрд╣рди рд╢рд┐рдХреНрд╖рдг рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЬреЛ Android рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ _and_ GPU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕рдордп рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред (рдпрджрд┐ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдореБрдЭреЗ рд╕рд╣реА рдХрд░реЛрдВ!)

@krikru
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ (рд▓реЗрдХрд┐рди рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ) рдУрдкрдирд╕реАрдПрд▓ рдХреИрдлреЗ рд╢рд╛рдЦрд╛ рдХреЛ рдПрдВрдбреНрд░реЙрдЗрдб рдЬреАрдкреАрдпреВ рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рд╕рдордп рдкреНрд░рджрд░реНрд╢рди рдЗрд╖реНрдЯрддрдо рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИред https://github.com/sh1r0/caffe-android-lib/issues/23 рдФрд░ https://github.com/BVLC/caffe/tree/opencl рджреЗрдЦреЗрдВред

Cudnn рдХрд╛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рдХрд▓реНрдк Tensor, NdConvolution, NdPooling рдСрдкрд░реЗрдЯрд░реЛрдВ рдФрд░ (рд╢рд╛рдпрдж) рдХреБрдЫ рдЕрдиреНрдп рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде OpenVx рдорд╛рдирдХ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдорд╛рдирдХреАрдХрд░рдг рдпреЛрдЧреНрдп рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕рд╛рде рд╣реА cudnn рдЯреАрдо рдХреЛ рдХреБрдЫ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рд╡реЗ рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдХреМрди рд╕рд╛ рдирдпрд╛ рдПрдкреАрдЖрдИ рдФрд░ рдСрдкрд░реЗрдЯрд░ рдкреЗрд╢ рдХрд░реЗрдВрдЧреЗред рдмреЗрд╢рдХ рдПрдХ рдорд╛рдирдХ cudnn рд░рд┐рд▓реАрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдирд╣реАрдВ рдмрдврд╝ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рд╕рдВрдЪрд╛рд▓рди рдФрд░ рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рдорд╛рдирдХреАрдХреГрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд "рдЙрджреНрдзрд░рдг рдЗрддрд┐рд╣рд╛рд╕" рд╣реИред

@hughperkins рдлрд┐рд▓рд╣рд╛рд▓, рдореИрдВрдиреЗ рдХрд┐рд╕реА рдЧрд╣рди рд╢рд┐рдХреНрд╖рдг рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ; рдореИрдВ рдмрд╕ рдХреБрдЫ рд╕реНрдХрд╛рдЙрдЯрд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдореИрдВ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдХреНрдпрд╛ рдЖрдкрдиреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдХреНрд▓реЙрд░реНрдЪ рдФрд░ рдбреАрдкрд╕реАрдПрд▓ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ? рдореИрдВрдиреЗ рдЕрднреА рдорд╛рдирд╛ рд╣реИ рдХрд┐ рдХреНрд▓рдЯреЛрд░рдЪ рдиреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдорд╢рд╛рд▓ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИред рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдРрд╕рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреНрдпреЛрдВ рд╣реЛрдЧрд╛ рдпрджрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдРрд╕рд╛ рдерд╛ рдЬреЛ рджреЛрдиреЛрдВ рдПрдВрдбреНрд░реЙрдЗрдб _and_ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рдереЗ, рдУрдкрдирд╕реАрдПрд▓ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддреЗ рдереЗ, рд╣реИ рдирд╛? рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдореБрдЭреЗ рдмреЗрд╣рддрд░ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред

@hughperkins рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдореИрдВрдиреЗ рдХрд▓реНрдкрдирд╛ рдХреА рдереА рдХрд┐ рдЯреЙрд░реНрдЪ-рдПрдВрдбреНрд░реЙрдЗрдб рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдорд╢рд╛рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдерд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХреЛрдИ рдЕрдиреНрдп рдорд╢рд╛рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдХрдо рд╕реЗ рдХрдо рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдирд╣реАрдВ) рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдХреНрд▓рдЯреЛрд░рдЪ рд╕рд╣рд┐рдд рдЖрд╕рд╛рдиреА рд╕реЗ рдЪрд▓рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рдереАред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдореИрдВрдиреЗ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╕реЛрдЪрд╛, рдЗрд╕рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред

рдЦреИрд░... рд╕реМрдорд┐рде рддрд░рд╣ рдХрд╛ рд╕рдордиреНрд╡рдп рдорд╢рд╛рд▓ рд╡рд┐рдХрд╛рд╕ред рд╡рд╣ рдлреЗрд╕рдмреБрдХ рдПрдЖрдИ рд░рд┐рд╕рд░реНрдЪ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЪреВрдВрдХрд┐ рдорд╢рд╛рд▓-рдПрдВрдбреНрд░реЙрдЗрдб рд░реЗрдкреЛ рд╕реМрдорд┐рде рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдХреЗ рдХрд╛рдлреА рдХрд░реАрдм рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╢рд╛рдпрдж рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдХреЛрд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдкреНрд░рд╢реНрди рдХреЛ рдЙрд╕ рд░реЗрдкреЛ рдореЗрдВ рдпрд╛ https://groups.google.com/forum/#!forum/torch7 рдореЗрдВ рдПрдХ рдореБрджреНрджреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЪреВрдВрдХрд┐ рд╕реМрдорд┐рде рдореБрдЦреНрдп рд╡реНрдпрдХреНрддрд┐ рд╣реИ рдЬреЛ https рдореЗрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ: //groups.google.com/forum/#!forum/torch7 , рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╢рд╛рдпрдж рдЕрдкрдирд╛ рдкреНрд░рд╢реНрди рд╡рд╣рд╛рдВ рдкреЛрд╕реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХреЛрдИ рдЕрдиреНрдп рдорд╢рд╛рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдХрдо рд╕реЗ рдХрдо рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдирд╣реАрдВ) Android рдкрд░ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдЪрд▓рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рдереА, рдЬрд┐рд╕рдореЗрдВ cltorch . рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХреНрд▓реЙрдЯреЛрд░рдЪ рдорд╢рд╛рд▓ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рд╣реИред рдпрд╣ рдПрдХ рдкреНрд▓рдЧрдЗрди рд╣реИ, рдерд╛рдЯрд╛ рдУрдкрдирд╕реАрдПрд▓ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЛ рджреЛрдиреЛрдВ рдХреА рдЬрд░реВрд░рдд рд╣реИред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХреНрд▓реЙрдЯреЛрд░рдЪ рдорд╢рд╛рд▓ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рд╣реИред рдпрд╣ рдПрдХ рдкреНрд▓рдЧрдЗрди рд╣реИ, рдерд╛рдЯрд╛ рдУрдкрдирд╕реАрдПрд▓ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЛ рджреЛрдиреЛрдВ рдХреА рдЬрд░реВрд░рдд рд╣реИред

рдЖрд╣, рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

@ naibaf7 рдХреНрдпрд╛ рдПрдПрдордбреА рджреНрд╡рд╛рд░рд╛ рдУрдкрдирд╕реАрдПрд▓ рдХреИрдлреЗ рд╢рд╛рдЦрд╛ рдФрд░ рдУрдкрдирд╕реАрдПрд▓ рдХреИрдлреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╛рдо рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдФрд░ рд╕рдорд╛рди рд╣реИ? рдХреНрдпрд╛ рдЖрдкрдиреЗ рджреЛрдиреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХреА рд╣реИ рдпрд╛ рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдХреЛрдИ рдЕрдВрддрд░ рд╣реИ рдпрд╛ рдирд╣реАрдВ? рдЖрдк рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдУрдкрдирд╕реАрдПрд▓ рд╢рд╛рдЦрд╛ рдЗрд╖реНрдЯрддрдо рдкреНрд░рджрд░реНрд╢рди рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИред рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реБрдзрд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛? рдЗрд╕реЗ Android рдкрд░ рдЖрдЬрд╝рдорд╛рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред

рд╣рдо рд╡рд┐рд╖рдп рд╕реЗ рд╣рдЯ рд░рд╣реЗ рд╣реИрдВ

@bhack рд╣рд╛рдБ, рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рдЕрдкрд╣реГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рд╕рд╡рд╛рд▓ рдХрд╣рд╛рдВ рд╕реЗ рдкреВрдЫрдирд╛ рд╣реИред

@krikru
рдХреГрдкрдпрд╛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрдл рд╢рд╛рдЦрд╛ рдореЗрдВ рдПрдХ рдореБрджреНрджрд╛ рдЙрдард╛рдПрдВ, рдЗрд╕реЗ рдПрдВрдбреНрд░реЙрдЗрдб рдФрд░ рдУрдкрдирд╕реАрдПрд▓ рдХреЗ рд╕рд╛рде рдлрд╝реНрд▓реИрдЧ рдХрд░реЗрдВред рддрдм рд╣рдо рдЗрд╕ рдкрд░ рдЖрдЧреЗ рдЪрд░реНрдЪрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдзрдиреНрдпрд╡рд╛рджред

@keryell рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдорд╛рд░реНрдЪ рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдЕрдЧрд▓реА f2f SG14 рдореАрдЯрд┐рдВрдЧ Google рджреНрд╡рд╛рд░рд╛ рд╣реЛрд╕реНрдЯ рдХреА рдЬрд╛рдПрдЧреА ред рдХреНрдпрд╛ рд╡рд╣рд╛рдВ рдХреЛрдИ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдЖрдВрддрд░рд┐рдХ рд╣реЛрдЧрд╛?

/рд╕реАрд╕реА @jfbastien

рд╢рд╛рдпрдж @benoitsteiner рдЧрд┐рд░ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ рд╕реНрдерд╛рдиреАрдп рд╣реИред
рд▓реЗрдХрд┐рди рдЗрд╕ рдШрдЯрдирд╛ рд╕реЗ рдкрд╣рд▓реЗ рдЬреИрдХреНрд╕рдирд╡рд┐рд▓, рдлреНрд▓реЛрд░рд┐рдбрд╛ рдореЗрдВ рдорд╣реАрдиреЗ рдХреЗ рдЕрдВрдд рдореЗрдВ рдкреВрд░реНрдг C++ F2F рд╣реИред
https://isocpp.org/files/papers/N4568.pdf
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореИрдВ рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдореЗрдВ рднреА рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛ рдкрд╛рдКрдВрдЧрд╛ред

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ CppCon 2015 рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдлрд┐рдЬрд┐рдХреНрд╕ рдФрд░ рдПрдкреНрд▓рд╛рдЗрдб рдореИрдердореЗрдЯрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП C++ рдорд▓реНрдЯреА-рдбрд╛рдпрдореЗрдВрд╢рдирд▓ рдПрд░реЗрдЬрд╝ рдкрд░ рдмрд╛рдд рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдХреБрдЫ рдкреЗрдкрд░ рдлреЙрд▓реЛ-рдЕрдк рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред

+1

@bhack рдмрд╣реБ-рдЖрдпрд╛рдореА рд╕рд░рдгрд┐рдпреЛрдВ рдкрд░ рдмрд╛рдд рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореБрджреНрджреЛрдВ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╕реА ++ рдореЗрдВ рдЕрдиреБрд╕рдорд░реНрдерд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╣реА рддрджрд░реНрде рджрд┐рдЦрддрд╛ рд╣реИред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореИрдВ Boost.MultiArray рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ Boost.MultiArray рдХреЗ рдкреЙрд▓рд┐рд╢ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИред

WG21 рдореЗрдВ рдХреБрдЫ рдкреЗрдкрд░ рднреА рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ Google рдкрд░ @jfbastien рдиреЗ WG21 рдореЗрдВ рдХреБрдЫ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреА рд╣реИ рдФрд░ рдорд╛рд░реНрдЪ рдореЗрдВ Google рдореЗрдВ SG14 f2f рдмреИрдардХ рдХреА рдореЗрдЬрдмрд╛рдиреА рдХрд░рдиреЗ рдореЗрдВ рднреА рдорджрдж рдХреА рд╣реИред

@bhack @keryell рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЛ SG14 рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рдореЗрдВ рд▓реЗ рдЬрд╛рдирд╛ рдЙрдЪрд┐рдд рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рд╡рд░рдг OpenCL / tensorflow рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВред

рд╣рд╛рдБ рд╢рд╛рдпрдж рдпрд╣ рдЕрдм рд╕рднреА рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдпрд╣рд╛рдБ рдЗрддрдиреА рд╕рдЦреНрддреА рд╕реЗ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИред Eigen/sycl рд╕рдкреЛрд░реНрдЯ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреНрдпрд╛ cudnn рдХреЙрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ?

+1 рдмрд╣реБрдд рд╣реА рд░реЛрдЪрдХ рд╡рд┐рд╖рдпред рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЬрд▓реНрдж рд╣реА рдЖ рд░рд╣рд╛ рд╣реИред

рдпрд╣ рдзрд╛рдЧрд╛ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдореИрдВ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрдлреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдкрд░рд┐рдгрд╛рдо рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВ: рдорд╛рд▓реА рдЬреАрдкреАрдпреВ рдХреЗ рд╕рд╛рде рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдХреИрдл рд╕реАрдкреАрдпреВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 2-3 рдзреАрдореА рд▓рдЧрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд▓рдЧрднрдЧ 4-5x рдЕрдзрд┐рдХ рдКрд░реНрдЬрд╛ рдХреБрд╢рд▓ рд╣реЛрддреА рд╣реИред рдЯреЗрд╕реНрдЯ рдЧреИрд▓реЗрдХреНрд╕реА рдПрд╕6 (рдорд╛рд▓реА рдЯреА760, рдкреАрдХ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ 200 рдЬреАрдПрдлрдПрд▓рдкреНрд╕) рдкрд░ рдЪрд▓рд╛рдпрд╛ рдЧрдпрд╛ред

рдЪреВрдВрдХрд┐ рдЬреАрдИрдПрдордПрдо рдХреИрдл рдореЗрдВ рдХрдирд╡рд▓реНрд╢рди рдХрд╛ рдореВрд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдЗрд╕рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдпрдирд╛рд╕реАрдПрд▓ рдХреБрдЫ рд╕рд╛рдзрд╛рд░рдг рдЧреБрдард▓реА рдХреА рддрд░рд╣ рдХреБрд╢рд▓ рдирд╣реАрдВ рд╣реИред рдЕрдм рдореИрдВ рдмрдбрд╝реЗ рдореИрдЯреНрд░рд┐рд╕реЗрд╕ (2k x 2k) рдХреЗ рд▓рд┐рдП CPU рдЬрд┐рддрдиреА рддреЗрдЬреА рд╕реЗ GPU рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВред рдпрд╣ рдЕрднреА рднреА рдкреНрд░рддрд┐-рд╕рд╣рдЬ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдо рддреМрд░ рдкрд░ рд╣рдо рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ GPU рдмрд╣реБрдд рддреЗрдЬ рд╣реЛрдЧрд╛ред

рджреЗрдЦреЛ:
https://github.com/strin/mocha-profile

рдХрд░реНрдиреЗрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

GEMM рдХреЗ рд▓рд┐рдП OpenCL рдХрд░реНрдиреЗрд▓: https://github.com/strin/gemm-android

рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?

@strin рдХреНрдпрд╛ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рд╕реВрддреНрд░ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд┐рдпрд╛ рд╣реИ https://community.arm.com/thread/4935?

@bhack рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рдзрд╛рдЧрд╛ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рд╕реБрдЭрд╛рд╡ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдбреАрд╡реАрдПрдлрдПрд╕ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рд╡рд┐рдпрдирд╛рд╕реАрдПрд▓ рдореЗрдВ sgemm рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рджрд░реНрд╢рди рдирд╣реАрдВ рджреЗрдЦрд╛ рдЧрдпрд╛ред

+1

@strin рдХреНрдпрд╛ рдЖрдкрдиреЗ MALI SDK рдореЗрдВ рдЕрдВрддрд┐рдо sgemm рд╕рдВрд╕реНрдХрд░рдг рдЖрдЬрд╝рдорд╛рдпрд╛ рд╣реИ?

рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рд▓реЗрдЯ рд╣реИ! рдЖрд╣ рдЖрд╣
https://gist.github.com/jarutis/ff28bca8cfb9ce0c8b1a

рдЗрд╕рдХрд╛ рд░рдгрдиреАрддрд┐ рдкрд░ рдкреНрд░рднрд╛рд╡ рдкрдбрд╝реЗрдЧрд╛: http://lists.llvm.org/pipermail/llvm-dev/2016-March/096576.html?
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
"StreamExecutor рд╡рд░реНрддрдорд╛рди рдореЗрдВ Google рдХреЗ рдЖрдВрддрд░рд┐рдХ GPGPU рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╡рд┐рд╢рд╛рд▓ рдмрд╣реБрдордд рдХреЗ рд▓рд┐рдП рд░рдирдЯрд╛рдЗрдо рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдПрдХ рд╕реНрдиреИрдкрд╢реЙрдЯ рдУрдкрди-рд╕реЛрд░реНрд╕ TensorFlow_ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрд╣рд╛рдВ рдпрд╣ GPGPU рд░рдирдЯрд╛рдЗрдо рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред"

+1

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧ CUDNN рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд╣реЛрдВрдЧреЗ, рдЬрдм рддрдХ рдХрд┐ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ 1.0 . рдХреЗ рдХрд░реАрдм рди рд╣реЛ рдЬрд╛рдП

@martinwicke рдпрд╣ рдореБрджреНрджрд╛ рдХреНрдпреЛрдВ рдмрдВрдж рд╣реИ?

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрдкрдХреА рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдЗрд╕реЗ рдареАрдХ рдХрд░рддреА рд╣реИред

рдЖрдк рд╣рдореЗрд╢рд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдПрдХ рд╣реА рдкреНрд░рддрд┐рдмрджреНрдз рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ;) https://github.com/tensorflow/skflow/issues/22

рдУрд╣ рдЧрд┐рдЯрд╣рдм

@vrv рдЕрдм рдЬрдм рдЖрдкрдиреЗ рд╣рдореЗрдВ рд╣рд╛рдЗрдкрд░ рдЕрдзрд┐рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рдЖрдк рд╕реНрдЯреНрд░реАрдо рдирд┐рд╖реНрдкрд╛рджрдХ рд░рдгрдиреАрддрд┐ рдкрд░ рдХреБрдЫ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ? ;)

рдореИрдВ рдУрдкрдирд╕реАрдПрд▓ рд╕рдорд░реНрдерди рдХреА рдХрдореА рд╕рд╣рд┐рдд рд╣рд░ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рдЧрд┐рдЯрд╣рдм рдХреЛ рджреЛрд╖ рджреЗрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред ;)

@benoitsteiner рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрдзрд┐рдХ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ 'рд╕реНрдЯреНрд░реАрдо рдирд┐рд╖реНрдкрд╛рджрдХ' рд░рдгрдиреАрддрд┐ рд╕реЗ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реНрдЯреНрд░реАрдо рдирд┐рд╖реНрдкрд╛рджрдХ рдФрд░ CuDNN рдФрд░ Eigen рдХреЗ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╡реЗ рд╕рднреА рдПрдХ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рдЦреЗрд▓рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ OpenCL рдХреА рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдпреЛрдЬрдирд╛ рдХреИрд╕реЗ рдмрджрд▓ рдЧрдИ рд╣реИ

рдореЗрд░рд╛ рдорддрд▓рдм:
"рд╕реНрдЯреНрд░реАрдо рдПрдХреНрдЬрд╝реАрдХреНрдпреВрдЯрд░ рдХреНрдпрд╛ рд╣реИ?
=======================
StreamExecutor CUDA рдФрд░ OpenCL рд╣реЛрд╕реНрдЯ-рд╕рд╛рдЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЙрдбрд▓ (рд░рдирдЯрд╛рдЗрдо) рдХреЗ рдЖрд╕рдкрд╛рд╕ рдПрдХ рдПрдХреАрдХреГрдд рдЖрд╡рд░рдг рд╣реИред рдпрд╣ рд╣реЛрд╕реНрдЯ рдХреЛрдб рдХреЛ CUDA рдпрд╛ OpenCL рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛-рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд░реНрдиреЗрд▓ рдХреЗ рд╕рд╛рде рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИред"

рдбрд┐рдмреНрдмрд╛рдмрдВрдж рд╕рдВрдЪрд╛рд▓рди
==================
StreamExecutor рд╕рд╛рдорд╛рдиреНрдп рдбреЗрдЯрд╛-рд╕рдорд╛рдирд╛рдВрддрд░ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдХрдИ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реНрдиреЗрд▓ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рдорд░реНрдерд┐рдд рд╡рд░реНрдЧ рд╣реИрдВ:

  • рдмреАрдПрд▓рдПрдПрд╕: рдореВрд▓ рд░реИрдЦрд┐рдХ рдмреАрдЬрдЧрдгрд┐рдд рдЙрдкрдкреНрд░реЛрдЧреНрд░рд╛рдо,
  • DNN: рдбреАрдк рдиреНрдпреВрд░рд▓ рдиреЗрдЯрд╡рд░реНрдХ,
  • рдПрдлрдПрдлрдЯреА: рдлрд╛рд╕реНрдЯ рдлреВрд░рд┐рдпрд░ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо, рдФрд░
  • рдЖрд░рдПрдирдЬреА: рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдкреАрдврд╝реАред

@keryell рдирдорд╕реНрддреЗ, рдореБрдЭреЗ Xilinx C++ рдпрд╛ OpenCL рдЬреИрд╕реА рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ FPGA рдкрд░ TensorFlow рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рднреА рд░реБрдЪрд┐ рд╣реИред рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ рддреЛ рдореБрдЭреЗ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИред

@henline рдХреНрдпрд╛ рдЖрдк рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ Opencl рдФрд░ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдбрд┐рдмреНрдмрд╛рдмрдВрдж рдкрд░ StreamExecutor рдХреА рдХреНрдпрд╛ рднреВрдорд┐рдХрд╛ рд╣реЛрдЧреА?
Tensorflow рдХреЗ рд▓рд┐рдП рд╕рдВрдЪрд╛рд▓рдиред рдореИрдВ рдЕрднреА рднреА рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ Eigen рдФрд░ cudnn (рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди?)

:+1: рдореИрдВ рднреА рдЗрд╕рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред

@bhack StreamExecutor CUDA рд░рдирдЯрд╛рдЗрдо рдФрд░ рдХреБрдЫ CUDA рд▓рд╛рдЗрдмреНрд░реЗрд░реА (рдЬреИрд╕реЗ cublas рдпрд╛ cudnn) рдХреЗ рдмрд░рд╛рдмрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЖрдкрдХреЛ рдЕрднреА рднреА рдЕрдкрдиреЗ GPU рдХрд░реНрдиреЗрд▓ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рдо Eigen рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

@benoitsteiner рддреЛ рдХреНрдпрд╛ рдЕрднреА рднреА рджреЛ рдЧреБрдард▓реА рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдПрдХ CUDA рдХреЗ рд▓рд┐рдП рдФрд░ рдПрдХ Opencl рдХреЗ рд▓рд┐рдП?

@benoitsteiner рддреЛ рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрднреА рднреА рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ tensorflow/tensorflow/stream_executor/opencl/рдкреНрд░рддрд┐рдкрдХреНрд╖ рдирд╣реАрдВ рд╣реИ? "рдбрд┐рдмреНрдмрд╛рдмрдВрдж рдСрдкрд░реЗрдЯрд░реЛрдВ" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

@bhack Eigen рдЖрдкрдХреЛ рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдЙрд╕ рдЧрдгрдирд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдПрдХ рдмрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдХрд░реНрдиреЗрд▓ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ (рдЬрд┐рд╕реЗ рд╣рдо рдореВрд▓реНрдпрд╛рдВрдХрдирдХрд░реНрддрд╛ рдХрд╣рддреЗ рд╣реИрдВ) рд╕реАрдкреАрдпреВ рдкрд░ рдЙрд╕ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдПрдХ рдЕрдиреНрдп рдХрд░реНрдиреЗрд▓ рдПрдХ CUDA рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдПрдХ рдмрд╛рд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдИрдЬреЗрди рдореЗрдВ рдУрдкрдирд╕реАрдПрд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реИ (рд╣рдо рдХрд░реАрдм рдЖ рд░рд╣реЗ рд╣реИрдВ), рдУрдкрдирд╕реАрдПрд▓ рдХрд░реНрдиреЗрд▓ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред
рдХреБрдЫ TensorFlow рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЬреЛ рдкреНрд░рджрд░реНрд╢рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ (рдЬреИрд╕реЗ рдХрд┐ рдХрдирд╡рд▓реНрд╢рди), рд╣рдо рд╣рд╛рде рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░реНрдиреЗрд▓ рдФрд░/рдпрд╛ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╣рдореЗрдВ рдЗрди рдкрд░рд┐рдЪрд╛рд▓рдиреЛрдВ рдХреЗ рдЕрдЪреНрдЫреЗ рдУрдкрдирд╕реАрдПрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

:+1:

рдХреНрдпрд╛ https://bitbucket.org/benoitsteiner/eigen-opencl рдореЗрдВ рдФрд░ рдХреЛрдб рдбрд╛рд▓рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ? рдПрд╕рд╕реАрдПрд▓ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдУрдкрдирд╕реЛрд░реНрд╕ GPU рд▓рдХреНрд╖реНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

@bhack @benoitsteiner
рдореИрдВ рдЬрд▓реНрдж рд╣реА Caffe рдкрд░ OpenCL рдХреЗ рд▓рд┐рдП рдПрдХ cuDNN рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди (рдХреЗрд╡рд▓ рдХрдирд╡рд▓реНрд╢рди рднрд╛рдЧ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реНрдореГрддрд┐ рд╣реИ) рдЬрд╛рд░реА рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рд╢рд╛рдпрдж рдпрд╣ Tensorflow рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рднреА рдХреБрдЫ рдХрд╛рдо рдЖрдПрдЧрд╛ред

@bhack : рдУрдкрдирд╕реАрдПрд▓ рдХреЗ рдореЛрд░реНрдЪреЗ рдкрд░ рдХреЛрдбрдкреНрд▓реЗ рдиреЗ рдмрд╣реБрдд рдкреНрд░рдЧрддрд┐ рдХреА рд╣реИред рдЕрдЧрд▓реЗ рдХреБрдЫ рд╣рдлрд╝реНрддреЛрдВ рдореЗрдВ https://bitbucket.org/benoitsteiner/eigen-opencl рдкрд░ рдПрдХ рдмрдбрд╝рд╛ рдзрдХреНрдХрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреЗ рд░рд╣реЗрдВред

@ naibaf7 : рдХрдирд╡рд▓реНрд╢рди рдСрдкрд░реЗрд╢рди рдХрд╛ рддреЗрдЬреА рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди TensorFlow рдореЗрдВ рдмреЗрд╣рдж рдорджрджрдЧрд╛рд░ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВред

@benoitsteiner рдореИрдВ рдХреЗрд╡рд▓ рдХреНрдпреВрдбрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдХреИрд╕реЗ рд╣рдЯрд╛ рд╕рдХрддрд╛ рд╣реВрдВ? рдХреНрдпреЛрдВрдХрд┐ '#ifdef GOOGLE_CUDA' рдЗрддрдирд╛ рдЬрдЯрд┐рд▓ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдХрднреА-рдХрднреА CUDA рд╣реЛрддрд╛ рд╣реИ, рдХрднреА-рдХрднреА рдЗрд╕рдХрд╛ рдорддрд▓рдм GPU рд╣реЛрддрд╛ рд╣реИред

рдЪреВрдВрдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдиреЗ рд░реЛрдбрдореИрдк рдкрд░ рдЕрдкрдирд╛ рд░рд╛рд╕реНрддрд╛ рдмрдирд╛ рд▓рд┐рдпрд╛ рд╣реИ (рджреЗрдЦреЗрдВ _Platforms_): рдХреНрдпрд╛ рд╣рдореЗрдВ рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдЕрдВрджрд╛рдЬрд╛ рд╣реИ рдХрд┐ OpenCL рд╕рдорд░реНрдерди TensorFlow рдХреЛ рдХрдм рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛? рд╕рдВрд╕реНрдХрд░рдг 0.9 / 1.0 рдХреА рддрд░рд╣? Q3/4 2016? рдпрд╛ 2017 рдЕрдзрд┐рдХ рдпрдерд╛рд░реНрдерд╡рд╛рджреА рд╣реИ?

@benoitsteiner рдХреНрдпрд╛ eigen-opencl https://bitbucket.org/benoitsteiner/eigen-opencl рдПрдХ opencl рдЯреЗрдВрд╕рд░ рдкреНрд░рд╡рд╛рд╣ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рддреИрдпрд╛рд░ рд╣реИ?

рдХреНрдпрд╛ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдХреЗрд╡рд▓ Eigen рдЯреЗрдВрд╕рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдпрд╛ Eigen рдХреА рдХреЛрдИ рдЕрдиреНрдп рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд╣реИрдВ?

@NEELMCW рдХреЛрдбрдкреНрд▓реЗ рдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ OpenCL рдХреЗ рд▓рд┐рдП Eigen Tensors рдХреЗ рд▓рд┐рдП рдЖрдВрд╢рд┐рдХ рд╕рдорд░реНрдерди рдЬрд╛рд░реА рдХрд┐рдпрд╛ рд╣реИред рдХреЛрдб рдЗрд╕ рдмрд┐рдЯрдмрдХреЗрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП, TensorFlow Eigen tensors рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рд░реИрдЦрд┐рдХ рдмреАрдЬрдЧрдгрд┐рдд рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдИрдЬрд┐рди рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЗрди рдкрд░рд┐рдЪрд╛рд▓рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдУрдкрдирд╕реАрдПрд▓ рд╕рдВрдЧрдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдХрдо рд╕реЗ рдХрдо рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдирд╣реАрдВ)ред рдЗрд╕рд▓рд┐рдП рд╣рдо TensorFlow рдореЗрдВ OpenCL рдХрд╛ рд╕рдорд░реНрдерди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИрдВред

рдпрджрд┐ рдЖрдк рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВрдиреЗ рдЯреНрд░реИрдХ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕реНрдкреНрд░реИрдбрд╢реАрдЯ рдореЗрдВ рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

@benoitsteiner рдореИрдВ рдПрдХ рд╕реА ++ 11 рдУрдкрдирд╕реАрдПрд▓ рдмреАрдПрд▓рдПрдПрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА (https://github.com/CNugteren/CLBlast) рдХрд╛ рд▓реЗрдЦрдХ рд╣реВрдВ рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╡рд╣рд╛рдВ рдЖрдзрд╛-рд╕рдЯреАрдХ рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореБрдЭреЗ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ BLAS/GEMM рднрд╛рдЧ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдФрд░/рдпрд╛ рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП CLBlast рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдкреНрд░рд╕рдиреНрдирддрд╛ рд╣реЛ рд░рд╣реА рд╣реИред

@CNugteren
CLBlast рдЕрдм OpenCL-Caffe рдореЗрдВ рднреА рдЙрдкрд▓рдмреНрдз рд╣реИ, рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрд╕реЗ рджреЗрдЦрд╛ рд╣реИ? :)
рдХреНрдпрд╛ рдЖрдкрдХреЛ рднреА libDNN рдХрдирд╡рд▓реНрд╢рди рджреЗрдЦрдиреЗ рдХрд╛ рдореМрдХрд╛ рдорд┐рд▓рд╛ рд╣реИ?

@ naibaf7 рдореИрдВрдиреЗ рджреЗрдЦрд╛, рд╣рд╛рдБ! :) рдореИрдВрдиреЗ рдЕрднреА рддрдХ libDNN рдХреЛ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ GEMM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдирд╡рд▓реНрд╢рди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?

@CNugteren
рд╣рд╛рдВ, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рджреЗрдЦреЗрдВ рдФрд░ рд╢рд╛рдпрдж libdnn рдкрд░ рдХреБрдЫ рд╕реБрдзрд╛рд░ рдпрд╛ рдЯреНрдпреВрдирд┐рдВрдЧ рдЯрд┐рдкреНрд╕ рджреЗрдВред
(https://github.com/naibaf7/caffe/blob/master/src/caffe/greentea/libdnn.cpp)ред
рдпрд╣ рдЬреАрдИрдПрдордПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рд╣рд┐рдд (рдмреАрдПрд▓рдПрдПрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ, рдХрд╛рд░реНрдпрд╕рдореВрд╣ рд╕реНрддрд░ рдкрд░ рдХреЗрд╡рд▓ рдЫреЛрдЯреЗ рдЬреАрдИрдПрдордПрдо) рддрд╛рдХрд┐ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдХреА рд╕рдорд╛рдирддрд╛ рд╕рдВрднрд╡ рд╣реЛ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдХреЛрдИ рдордзреНрдпрд╡рд░реНрддреА рдмрдлрд░ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ (рдбреЗрдЯрд╛ рдХреЛ рдЬреАрдИрдПрдордПрдо рдпреЛрдЬрдирд╛ рдореЗрдВ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред

рд╕рднреА рдХреЛ рдкреНрд░рдгрд╛рдо,

@benoitsteiner рд╣рдорд╛рд░реЗ рдкреБрд╢ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛!

рдЗрд╕ рдХреЛрдб рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ SYCL рдХрдВрдкрд╛рдЗрд▓рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдПрдХрдорд╛рддреНрд░ рд╕рдорд░реНрдерд┐рдд рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛрдбрдкреНрд▓реЗ рдХрд╛ ComputeCpp рд╣реИ, рдЬреЛ рдХреЛрдбрдкреНрд▓реЗ рдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИред ComputeCpp рдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдУрдкрди рдмреАрдЯрд╛ рдХреЗ рд░реВрдк рдореЗрдВ, рдмрд╛рдж рдореЗрдВ 2016 рдореЗрдВ рдореБрдлреНрдд рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдлрд┐рд░ 2017 рдореЗрдВ рдПрдХ рдореБрдлреНрдд рд╕рдВрд╕реНрдХрд░рдг (ComuteCpp рдХрдореНрдпреБрдирд┐рдЯреА рдПрдбрд┐рд╢рди) рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдХрд┐рд╕реА рдХреЛ рднреА OpenCL рдбрд┐рд╡рд╛рдЗрд╕, рдЬреИрд╕реЗ AMD рдпрд╛ Intel GPU рдкрд░ TensorFlow рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рджреЗрдЧрд╛ред рдФрд░ рд╕реАрдкреАрдпреВред

рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВред рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдУрдкрдирд╕реАрдПрд▓ рд▓реЗрдмрд▓ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП? :)

рдзрдиреНрдпрд╡рд╛рдж,
рд▓реНрдпреВрдХ

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╢рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕реЗ рдУрдкрдирд╕реЛрд░реНрд╕ рдЯреВрд▓ рдХреЗ рд╕рд╛рде рднреА рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред @keryell рдпрд╣ рдЖрдкрдХреА рдирдИ рдУрдкрдирдХреНрд▓ рд╢рд╛рдЦрд╛ рдХреЗ рд╕рд╛рде рдХреИрд╕рд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ

@bhack рдпрд╣ рджреЗрдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдкрд╣рд▓реЗ рд╕реАрдкреАрдпреВ рдУрдкрдирдПрдордкреА рд╣реЛрд╕реНрдЯ рдбрд┐рд╡рд╛рдЗрд╕ рдореЛрдб рдореЗрдВ рдЯреНрд░рд╛рдИрдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ TensorFlow/Eigen рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо rnow рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдВрдбрд╡рд┐рдбреНрде рдирд╣реАрдВ рд╣реИред :-( рдЕрдЧрд░ рдХреЛрдИ рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдВрдХреЛрдЪ рди рдХрд░реЗрдВред :-)

https://github.com/keryell/triSYCL/commits/opencl рдХреЛ OpenCL рдЗрдВрдЯрд░рдСрдкрд░реЗрдмрд┐рд▓рд┐рдЯреА рдореЛрдб рдореЗрдВ рдЬрд▓реНрдж рд╣реА OpenCL рдХрд░реНрдиреЗрд▓ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди SYCL рд╕рд┐рдВрдЧрд▓ рд╕реЛрд░реНрд╕ рдореЛрдб рдореЗрдВ рдирд╣реАрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдо рд╕рднреА рд╕рдкрдиреЗ рджреЗрдЦрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рддрдХ рдХреНрд▓реИрдВрдЧ/рдПрд▓рдПрд▓рд╡реАрдПрдо рдЖрдЙрдЯрд▓рд╛рдЗрдирд░ рдирд╣реАрдВ рд╣реИред SYCL рд╕реЗ рдЧреБрдард▓реА рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдПред рд▓реЗрдХрд┐рди рдЦреНрд░реЛрдиреЛрд╕ рдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдУрдкрдирд╕реАрдПрд▓ рд╕реА++ 2.2 рдФрд░ рдПрд╕рдкреАрдЖрдИрдЖрд░-рд╡реА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдПрдордбреА рдФрд░ рдЗрдВрдЯреЗрд▓ рд╕реЗ рдШрдЯрдХреЛрдВ рдХреЛ рдЦреЛрд▓рд╛, рдЬреЛ рдЗрд╕рдХрд╛ рдЖрдзрд╛рд░ рд╣реЛрдЧрд╛ред рддреЛ рдпрд╣ "рд╕рд┐рд░реНрдл" рд╕рдордп рдХрд╛ рд╕рд╡рд╛рд▓ рд╣реИ...

рдХреНрдпрд╛ рдХреЛрдИ рдЕрдиреБрдорд╛рди рджреЗ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ Tensorflow OpenCL (AMD GPU) рдХреЗ рд╕рд╛рде рдХрдм рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ? рдФрд░ рд╕рдордп рдХреЗ рд╕рд╛рде рдкреНрд░рджрд░реНрд╢рди/рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рд╡рдХреНрд░ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ? рдкрд┐рдЫрд▓реА рд╕рднреА рд╕реВрдЪрдирд╛рдУрдВ рдХреЛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдпреЛрдЧреНрдп рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЦрд░реАрдж рдЬрд╛рдирдХрд╛рд░реА рдореЗрдВ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред :)

рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рдж!

@djan92
рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕реЗ рдПрдХ рд╡рд░реНрд╖ рджреЗрдВ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рди рд╣реЛ, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдлреА рдЕрддреНрдпрд╛рдзреБрдирд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдкрд░ рдмрдирд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрддрд░ рдЕрднреА рддрдХ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИрдВред
рдЬреИрд╕реЗ рд╣реА рдкреВрд░рд╛ рдЯреВрд▓ рд╕реНрдЯреИрдХ рдУрдкрдирд╕реЛрд░реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ рдФрд░ рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдореИрдВ рднреА рдХреЗрд╡рд▓ рдЬрд╣рд╛рдЬ рдкрд░ рдХреВрджрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред

@naibaf7

рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕реЗ рдПрдХ рд╡рд░реНрд╖ рджреЗрдВ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рди рд╣реЛ, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдлреА рдЕрддреНрдпрд╛рдзреБрдирд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдкрд░ рдмрдирд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрддрд░ рдЕрднреА рддрдХ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИрдВред
рдЬреИрд╕реЗ рд╣реА рдкреВрд░рд╛ рдЯреВрд▓ рд╕реНрдЯреИрдХ рдУрдкрдирд╕реЛрд░реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ рдФрд░ рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдореИрдВ рднреА рдХреЗрд╡рд▓ рдЬрд╣рд╛рдЬ рдкрд░ рдХреВрджрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред

SYCL рдкреЛрд░реНрдЯ рдХреЗ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реБрдП рдкрд╣рд▓реЗ CL рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд▓рд╛рдЧреВ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдХрд╛рдлреА рд▓реЛрдЧ рд╣реИрдВ рдЬреЛ рдорджрдж рдХрд░рдиреЗ рдХреЛ рддреИрдпрд╛рд░ рд╣реИрдВред рдПрдХ рд╕рд╛рд▓ рдЕрднреА рдмрд╣реБрдд рд▓рдВрдмрд╛ рд▓рдЧрддрд╛ рд╣реИред

@djan92
рд╣рд╛рдБ, рдЖрдк рд╕рд╣реА рдХрд╣ рд░рд╣реЗ рд╣реИрдВ, #22 рд▓рдЧрднрдЧ 8 рдорд╣реАрдиреЗ рдкреБрд░рд╛рдирд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ 100 рд╕реЗ рдЕрдзрд┐рдХ рдкреЛрд╕реНрдЯ рд╣реИрдВ! рдЬрд╛рдирдХрд╛рд░реА рдХреА рдмрд╛рдврд╝ рдЖ рд╕рдХрддреА рд╣реИ!

рдХреНрдпрд╛ рдХреЛрдИ рдЕрдиреБрдорд╛рди рджреЗ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ Tensorflow OpenCL (AMD GPU) рдХреЗ рд╕рд╛рде рдХрдм рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ?

TensorFlow рдЯреЗрдВрд╕рд░ рдЧрдгрдирд╛ (рдЯреЗрдиреНрд╕рд░ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ) рдХреЗ рд▓рд┐рдП Eigen рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╣рдордиреЗ SYCL (https://bitbucket.org/benoitsteiner/opencl рд╢рд╛рдЦрд╛ рдХреЛрдбрдкреНрд▓реЗ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ OpenCL 1.2 рдХреЗ рд▓рд┐рдП рдЖрдВрд╢рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ SYCL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ TensorFlow рдХрд╛ рдпрд╣ рдЦрдВрдб C ++ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдЯреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ OpenCL рдХреЗ рд▓рд┐рдП SYCL рдХреЗ рд╕рд╛рде рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди OpenCL C рдХреЗ рд╕рд╛рде рд╕реАрдзреЗ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред TensorFlow рдХреЗ рдЕрдиреНрдп рдШрдЯрдХ, рдЬреИрд╕реЗ рдХрд┐ рдХрдирд╡рд▓реНрд╢рди рдпрд╛ BLAS, рд╕реАрдзреЗ OpenCL C рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдореИрдВ ComputeCpp (рдХреЛрдбрдкреНрд▓реЗ рдХреЗ SYCL рдХрдВрдкрд╛рдЗрд▓рд░) рдХреЛ рдмреЗрдЬрд╝рд▓ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рдпрд╣ рдЬрд▓реНрдж рд╣реА рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЗрд╕ рд░реЗрдкреЛ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ: https://github.com/benoitsteiner/tensorflow-opencl/)ред рдЙрд╕рдХреЗ рдмрд╛рдж, TensorFlow рдХреЛ рдЙрди рд╕рд┐рд╕реНрдЯрдо рдкрд░ рддреНрд╡рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ ComputeCpp рдХреЗ рд╕рд╛рде OpenCL SPIR (рдЬреИрд╕реЗ AMD рдпрд╛ Intel) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдЖрдЧреЗ рдХрд╛ рдХрд╛рдо TensorFlow рдХреЛ рдФрд░ рддреЗрдЬ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЕрдзрд┐рдХ OpenCL рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдФрд░ triSYCL рдУрдкрди-рд╕реЛрд░реНрд╕ SYCL рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ред SYCL рдФрд░ OpenCL рдмрд╣реБ-рд╡рд┐рдХреНрд░реЗрддрд╛, рд░реЙрдпрд▓реНрдЯреА-рдореБрдХреНрдд рдЦреБрд▓реЗ рдорд╛рдирдХ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рди рдХрд┐ рдХреЗрд╡рд▓ AMD GPU)ред

ComputeCpp рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдХрд▓рдХ рдмрд╛рдж рдореЗрдВ 2016 рдореЗрдВ рдореБрдлреНрдд рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ (рдмреАрдЯрд╛ рд░реВрдк рдореЗрдВ: рдкреВрд░реНрдг рдЕрдиреБрд░реВрдкрддрд╛ 2017 рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдореБрдлреНрдд рдореЗрдВ рдЬрд╛рд░реА рдХреА рдЬрд╛рдПрдЧреА)ред

TensorFlow (рдЬреИрд╕реЗ BLAS рдФрд░ рдХрдирд╡рд▓реНрд╢рди) рдХреЗ рдЧреИрд░-C++ рднрд╛рдЧреЛрдВ рдХреЛ рддреЗрдЬ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рдо SYCL рдХреЗ рдмрд┐рдирд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЕрд▓рдЧ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡рд┐рднрд┐рдиреНрди рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рдХреЗ рдкрд╛рд╕ рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рддреНрд╡рд░рдг рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╛, рд╣рдо рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП Eigen рдХрд╛ рдЙрдкрдпреЛрдЧ C++ рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдФрд░ рд╕рдордп рдХреЗ рд╕рд╛рде рдкреНрд░рджрд░реНрд╢рди/рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рд╡рдХреНрд░ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ?

рд╣рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рд╕реБрдзрд╛рд░ рд╣реЛрдЧрд╛ред рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рддреЗрдЬреА рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдХрд╛рдо рдХрд╛ рдПрдХ "рдкреНрд░рдмрдВрдзрд┐рдд рдЯреЗрдВрд╕рд░" рдЖрдЗрдЯрдо рд╣реИ, рддрд╛рдХрд┐ рдбреЗрдЯрд╛ рдЖрдВрджреЛрд▓рди рдХреЛ рд╣реЛрд╕реНрдЯ рдФрд░ рдХрдИ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдХрдард┐рди рд╣реИ рдХрд┐ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХреИрд╕реЗ рднрд┐рдиреНрди рд╣реЛрдЧрд╛, рдЕрднреАред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдмрд╣реБрдд рдХрдо рддреНрд╡рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо TensorFlow рдореЗрдВ рдЦреБрд▓реЗ рдорд╛рдирдХ рддреНрд╡рд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдБрдЪрд╛ рд▓рдЧрд╛ рд░рд╣реЗ рд╣реИрдВред

@naibaf7

рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕реЗ рдПрдХ рд╡рд░реНрд╖ рджреЗрдВ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рди рд╣реЛ, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗред

рдмреБрдирд┐рдпрд╛рджреА рд╕рдВрдЪрд╛рд▓рди рдмрд╣реБрдд рдЬрд▓реНрдж рдпрд╣рд╛рдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдо рдЦреБрд▓реЗ рдорд╛рдирдХ-рдЖрдзрд╛рд░рд┐рдд рддреНрд╡рд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рдХреЛрдб рдХреЗ рднреАрддрд░ рд░рдЦ рд░рд╣реЗ рд╣реИрдВред рд╣рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╕рдорд░реНрдерди рд╕реЗ, рдПрдХ рддреНрд╡рд░рд┐рдд рдФрд░ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╕рдВрд╕реНрдХрд░рдг рдПрдХ рд╡рд░реНрд╖ рд╕реЗ рднреА рдХрдо рд╕рдордп рдореЗрдВ рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдЬреИрд╕реЗ рд╣реА рдкреВрд░рд╛ рдЯреВрд▓ рд╕реНрдЯреИрдХ рдУрдкрдирд╕реЛрд░реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ рдФрд░ рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдореИрдВ рднреА рдХреЗрд╡рд▓ рдЬрд╣рд╛рдЬ рдкрд░ рдХреВрджрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред

ComputeCpp 2016 рдореЗрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдореБрдлреНрдд рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред рдУрдкрди-рд╕реЛрд░реНрд╕ рдЯреНрд░рд╛рдИрдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рд╕рдорд░реНрдерди рдкреАрдЫреЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдУрдкрди-рд╕реЛрд░реНрд╕ рдУрдкрдирд╕реАрдПрд▓ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА pocl, рд╢реИрдорд░реЙрдХ, рдХреНрд▓реЛрд╡рд░, рдмреЗрдЧрдиреЗрдЯ рдХреЗ рд╕рд╛рде рд╕рдорд░реНрдерд┐рдд рд╣реИред

@robertwgh
Eigen рдореЗрдВ C++ рдЯреЗрдВрд╕рд░ рдХреЛрдб SYCL рдХреЗ рдмрд┐рдирд╛ OpenCL C рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рдиреА рд╕реЗ рдкреЛрд░реНрдЯреЗрдмрд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдРрд╕реА рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдЬреЛ OpenCL C рдкрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдВрдЧреАред рдЗрд╕ рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ: https://docs.google.com/spreadsheets/d /1YbHn7dAFPPG_PgTtgCJlWhMGorUPYsF681TsZ4Y4LP0/edit#gid =0 рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдУрдкрдирд╕реАрдПрд▓ рд╕реА (рдЬреИрд╕реЗ рдмреАрдПрд▓рдПрдПрд╕ рдФрд░ рдХрдирд╡рд▓реНрд╢рди) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рдЕрдкрдирд╛ рдирд╛рдо рдирд┐:рд╢реБрд▓реНрдХ рднрд░реЗрдВред

рд╣рдо рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░рд┐рд▓реАрдЬ рд╕реЗ рдкрд╣рд▓реЗ ComputeCpp рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдпрд╛рдВрдХрди рд╕рдВрд╕реНрдХрд░рдг рджреЗ рд░рд╣реЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдПрдХ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдПрдХ рдИрдореЗрд▓ рдЫреЛрдбрд╝ рджреЗрдВ :)

@lukeiwanski рдЧреНрд░реЗрдЯ, рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдПрдХ рд╡рд░реНрд╖ рд╕реЗ рднреА рдХрдо рд╕рдордп рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЪрд┐рддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╣реА рд╣реИрдВред

LLVM рдореЗрдВ Streamexecutor рдХрд╛ рдПрдХ рдФрд░ рдЪрд░рдг

rx 480 рдкрд░ рддреНрд╡рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдореМрдХрд╛?

@benoitsteiner
LibDNN рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛:
https://github.com/naibaf7/libdnn

рдкрдврд╝рдХрд░ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛, рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЕрдЧрд░ рдмреЗрдЧрдиреЗрдЯ 2.0 рдХреЛ рдкреЙрд▓рд┐рд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рддреЛ рдпрд╣ рдорджрдж рдХрд░рддрд╛ред рдЕрднреА рд╕реНрдХрд╛рдИрд▓реЗрдХ рдФрд░ рдЖрдЗрд░рд┐рд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдлреА рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рд╣реИрдВред

рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз https://github.com/benoitsteiner/tensorflow-opencl/pull/1 рдкрд░ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ рдЕрдЧрд░ рдХреЛрдИ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред

рдЗрдореЗрдЬрд┐рдиреЗрд╢рди (GPU) рдХреЗ OpenCL SDK рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП NDA рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рд╕рд╛рдЭрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИред рдХреНрдпрд╛ рдЗрд╕ рдХрд╛рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдЪрд▓рд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ?

@ рдЕрд▓реЗрдлрдореИрди
рдХрд┐рд╕реА рднреА рдУрдкрдирд╕реАрдПрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рд╡рд┐рдХреНрд░реЗрддрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реЗрдбрд░ рдлрд╛рдЗрд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдХрд┐рд╕реА рдЕрдиреНрдп рдПрд╕рдбреАрдХреЗ рд╕реЗ https://www.khronos.org/registry/cl/api/1.2/cl.hpp рдФрд░ opencl.h/cl.h рд╕реЗ cl.hpp рдЖрдЬрд╝рдорд╛рдПрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП - рдореЗрд░реЗ рдкрд╛рд╕ рдХрдо рд╕реЗ рдХрдо 3 рдУрдкрдирд╕реАрдПрд▓ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╣реИрдВ рдФрд░ рдпрд╣ рд╕рдм рдПрдХ рд╕рд╛рдЭрд╛ /usr/include/CL/cl.h рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

рд╣рдо рдЕрднреА рддрдХ OpenCL рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ TensorFlow рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдкреНрд░рдЧрддрд┐ рдореЗрдВ рдПрдХ рдХрд╛рдо рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдо AMD GPU рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред PowerVR рд╕рдорд░реНрдерди рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рд╣рдорд╕реЗ (рдХреЛрдбрдкреНрд▓реЗ) рд╕реАрдзреЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк PowerVR рдкрд░ TensorFlow рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдереЛрдбрд╝реА рдФрд░ рдкреНрд░рдЧрддрд┐ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред

@inferrna рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рдУрдкрдирдЬреАрдПрд▓ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рдХреНрд░реЗрддрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЫреБрдкрд╛рддрд╛ рд╣реИред

@andrewrichards рдореБрдЭреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ, рдЖрдкрд╕реЗ рдХреИрд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд┐рдпрд╛ рдЬрд╛рдП?

рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдпрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдкреЗрдЬ рдкрд░ "рдЕрдкрдиреА рд░реБрдЪрд┐ рдкрдВрдЬреАрдХреГрдд рдХрд░реЗрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ: https://www.codeplay.com/products/computecpp
рдпрд╣ рдЖрдкрдХреЛ рд╣рдорд╛рд░реЗ рдбреЗрд╡рд▓рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╣рдо рдЗрд╕ рдкрд░ рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ @alephman

рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдПрдХ рдУрдкрдирд╕реЛрд░реНрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рд╕рд╣рднрд╛рдЧреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рджреЗрдЦреЗрдВ https://github.com/tensorflow/tensorflow/issues/22#issuecomment -221841173

рд╣реЗрд▓реЛ рд╕рдм рд▓реЛрдЧ!
Nvidia Cuda рдХреЗ рдмрд╛рд╣рд░ Tensorflow рд╕рдорд░реНрдерди рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реБрдП рд╕реБрдирдХрд░ рдмрд╣реБрдд рдЦреБрд╢реА рд╣реБрдИред рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдПрдкреАрдпреВ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ: http://www.amd.com/en-us/products/processors/laptop-processors#sectionOne ?

@kgocheva
рдПрдкреАрдпреВ рд╕реАрдкреАрдпреВ рдФрд░ рдЬреАрдкреАрдпреВ рджреЛрдиреЛрдВ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдУрдкрдирд╕реАрдПрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред
рдУрдкрдирд╕реАрдПрд▓ рд╕рдорд░реНрдерди рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рдмреЙрдХреНрд╕ рд╕реЗ рдХрд╛рдлреА рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕ рдмреАрдЪ, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА APU рд╣реИ рдФрд░ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп ML рдврд╛рдВрдЪреЗ рдХреЛ рдЖрдЬрд╝рдорд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ BVLC OpenCL Caffe рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред

@ naibaf7 рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ Tensorflow рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧрдд рдкреНрд░рднрд╛рд╡реА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░/рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕рдВрдпреЛрдЬрди рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ OpenCL рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдЧрддрд┐ рдХрд╛ рдкрд╛рд▓рди рдХрд░реВрдВрдЧрд╛ред

@ рд╣реНрдпреВрдЧрдкрд░рдХрд┐рдВрд╕
рд╣рд╛рдВ рдПрдХ рдореБрджреНрджрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ im2col/col2im рдФрд░ рдЕрдиреНрдп рд╕рдВрдХрд▓реНрдк рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬреИрд╕реЗ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдмрд╛рд╣рд░реА рдПрдкреАрдЖрдИ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдкреНрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬреАрд╕реАрдПрд▓рдП рдХреЗ рд╕рд╛рде рдПрдХ рдореБрджреНрджрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рдо рдХреЗ рдореВрд▓ рд▓реЗрдЦрдХреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдмреЗрд╣рддрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

@hughperkins рд╣рдо OpenCL 1.2 рдХреЗ рд▓рд┐рдП SYCL рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ OpenCL рдХреЛ TensorFlow рдореЗрдВ рд▓рд╛рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдХреГрдкрдпрд╛ "todos" рдФрд░ рдкреНрд░рдЧрддрд┐ рдХреЗ рд▓рд┐рдП https://docs.google.com/spreadsheets/d/1YbHn7dAFPPG_PgTtgCJlWhMGorUPYsF681TsZ4Y4LP0/edit#gid =1625897530 рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред
рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╣рдордиреЗ SYCL https://www.codeplay.com/products/computesuite/computecpp рдХреЗ рд▓рд┐рдП ComputeCpp рдХрдореНрдпреБрдирд┐рдЯреА рдПрдбрд┐рд╢рди рдирд╛рдордХ рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдЬрд╛рд░реА рдХрд┐рдпрд╛ред рд▓реЛрдЧ рдЗрд╕реЗ рдЖрдЬрдорд╛ рд╕рдХрддреЗ рд╣реИрдВ!
рд╕рд╛рде рд╣реА, рд╣рдо Eigen рд▓рд╛рдЗрдмреНрд░реЗрд░реА https://bitbucket.org/benoitsteiner/opencl/branch/ComputCpp рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдЗрд╕реЗ TensorFlow рдХреЗ MNIST рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рдЪрд░рдг рддрдХ рдкрд╣реБрдБрдЪрд╛рдирд╛ - рдХреБрдЫ рдЪреАрдЬреЗрдВ рд╢реЗрд╖ рд╣реИрдВред
рдмрд╛рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рд╡рд░реНрддрдорд╛рди ComputeCpp CE рд░рд┐рд▓реАрдЬрд╝ рдХрд╛ рдкрд░реАрдХреНрд╖рдг Intel (CPU, GPU) рдФрд░ AMD (CPU, GPU) рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рд╣рдо Ubuntu 14.04 64bit рдФрд░ CentOS 64bit рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред
ComptueCpp рдореБрдлреНрдд рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдФрд░ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдХреНрдпреЛрдВрдХрд┐ рд╣рдо <3 рд╕рдореБрджрд╛рдп рдЦреЛрд▓рддреЗ рд╣реИрдВ :)

@lukeiwanski рдереНрд░реЗрдб рдореЗрдВ рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛/рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рднреА рд░реВрдЪрд┐рдХрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдХреЛрдбрдкреНрд▓реЗ рдУрдкрдирд╕реАрдПрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдореЗрдВ рдЕрддреНрдпрдзрд┐рдХ рд░реВрдЪрд┐ рд░рдЦрддрд╛ рд╣реИ рдФрд░ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рджреВрд╕рд░реЛрдВ рдХреЛ рдЗрд╕ рдХрд╛рдо рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд▓реЗрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд╛ рд╣реИ рддреБрдо рднреАред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ Movidius рдЕрдзрд┐рдХрд╛рд░реА рджреНрд╡рд╛рд░рд╛ рдХреБрдЫ рдкреЛрд╕реНрдЯ рдкрдврд╝реАред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдкреВрдЫрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕рдореЗрдВ Google рдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдпреЛрдЧрджрд╛рди рд╣реИ? рдЪреВрдВрдХрд┐ Movidius, AMD рдФрд░ рдЕрдиреНрдп рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреЛрдбрдкреНрд▓реЗ рдХреЗ рднрд╛рдЧреАрджрд╛рд░реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рд╣реИрдВ, рдореИрдВ рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдБ рдХрд┐ рд╡реЗ OpenCL рдХреЗ рд▓рд┐рдП SYCL рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рд╕рдорд░реНрдерди рднреА рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдЗрд╕рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╣реИ, Google рдЖрдкрдХрд╛ рднрд╛рдЧреАрджрд╛рд░ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЕрдм рддрдХ рдпреЛрдЧрджрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рд╣реИ?!

рдореБрдЭреЗ рдЧрд▓рдд рдордд рд╕рдордЭреЛ, рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХрд╛ рдХрд╛рдо рдкрд╕рдВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рд╕рдореЗрдХрд┐рдд рдХрд░рдирд╛, рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЬрдорд╛ рдХрд░рдирд╛ рдФрд░ Google рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛? рдореЗрд░реЗ рд▓рд┐рдП рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд╛рд░реНрдЯрд┐рдпрд╛рдВ TensorFlow рдХреЗ рд▓рд┐рдП OpenCL рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдмрдбрд╝реА рдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рдкрд╛рд░реНрдЯрд┐рдпрд╛рдВ рдПрдХ рд╕рд╛рде рд╡рд┐рдХрд╕рд┐рдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ ?!

рдореИрдВ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдпрджрд┐ рдЗрд╕ рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ рддреЛ рдХреГрдкрдпрд╛ рд╕реНрд╡рдпрдВ рд╕реЗ рдХреНрд╖рдорд╛ рдорд╛рдВрдЧреЗрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рднреА Google (рдпрд╛ рдЕрдиреНрдп рдкрд╛рд░реНрдЯрд┐рдпреЛрдВ) рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рдкрд░ рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдХрд┐рд╕реА рднреА рдмрдбрд╝реЗ рдкреНрд░рдпрд╛рд╕ рд╕реЗ рдЕрдирдЬрд╛рди рд╣реВрдВ рдФрд░ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдореИрдВ рдЕрднреА рднреА рдЗрд╕ рдмрд╛рдд рд╕реЗ рдЕрдирдЬрд╛рди рд╣реВрдВ рдХрд┐ рд╕рдореБрджрд╛рдп рдХреИрд╕реЗ рдкреНрд░рддреНрдпрдХреНрд╖ рдпреЛрдЧрджрд╛рди, рдкрд░реАрдХреНрд╖рдг рдпрд╛ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ (рдПрдХрд▓ рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреА рддрд░рд╣) рдорджрдж рдпрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддрд╛ рд╣реИред

@ascenator рд╣рдо Google рдореЗрдВ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рд▓реНрдпреВрдХ рдФрд░ рдЙрдирдХреЗ рдХреЛрдбрдкреНрд▓реЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд░реАрдм 12 рдорд╣реАрдиреЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рдХреЛрдбрдкреНрд▓реЗ рдХрд╛ рдпреЛрдЧрджрд╛рди рдЬрдмрд░рджрд╕реНрдд рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдЬрдм рдУрдкрдирд╕реАрдПрд▓ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдкрдбреЗрдЯ рдХреЛ рд╕рдВрдкреНрд░реЗрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ рддреЛ рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рд╣рдорд╕реЗ рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рд╕реБрдирд╛ рд╣реИ :)

рдЕрдм рдЬрдмрдХрд┐ ComputeCpp рдХрдВрдкрд╛рдЗрд▓рд░ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИ, рд╣рдо рдЕрдм рддрдХ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╛рдкрдХ рдкрд░реАрдХреНрд╖рдг рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдбрдмреЗрд╕ рдХреЛ рдЕрд╕реНрдерд┐рд░ рди рдХрд░реЗрдВред

рд╣рдо рдЗрд╕ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рд╕рднреА рдпреЛрдЧрджрд╛рдиреЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдореБрдЭрд╕реЗ рдмреЗрдЭрд┐рдЭрдХ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВред рд╣рдо рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЧреБрдгрди рдФрд░ рдХрдирд╡рд▓реНрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдУрдкрдирд╕реАрдПрд▓ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдХрдИ рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖реЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред

@benoitsteiner рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рдореЗрд░реА рдЧрд▓рдд рд╕реВрдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ! рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдФрд░ рдЖрд╢рд╛рдЬрдирдХ рд▓рдЧрддрд╛ рд╣реИ! рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ ComputeCpp рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реВрдВрдЧрд╛ред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ TensorFlow рдХреЗ рд▓рд┐рдП OpenCL рд╕рдорд░реНрдерди рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд░реЛрдмреЛрдЯрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реА рдирдИ рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ (рдЬреЛ рд╡рд╣ рдХреНрд╖реЗрддреНрд░ рд╣реИ рдЬрд╣рд╛рдВ рдореИрдВ рдЧрд╣рди рд╢рд┐рдХреНрд╖рдг рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП TensorFlow рдкрд░ рд╢реЛрдз рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ)ред рдореИрдВ рдХрдо рд╕реЗ рдХрдо рд╢реБрд░реБрдЖрддреА рд░рд┐рд▓реАрдЬ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реВрдВрдЧрд╛ рдФрд░ рдкрд░реАрдХреНрд╖рдг/рдбреАрдмрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдЗрдВрдЯреЗрд▓ рдЪрд┐рдкреНрд╕ рдФрд░ рдХрдИ рдПрдЖрд░рдПрдо рд╕реАрдкреАрдпреВ рд╣реИрдВ рдЬреЛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ;)

@hughperkins ... рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд┐рд╖рдп рд╕реЗ рджреВрд░ рдирд╣реАрдВ рд╣реИ? рдореИрдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдпрд╣ рдУрдкрдирд╕реАрдПрд▓ рдЯреАрдПрдл рдореЗрдВ рдХреИрд╕реЗ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ?

рдореБрдЭреЗ рдпрд╣рд╛рдВ рдпрд╣ рдЬрд╛рдирдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЧреБрдгрди рдФрд░ рдХрдирд╡рд▓реНрд╢рди рдХрд░реНрдиреЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреНрдпреВрдирд┐рдВрдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдпрджрд┐ рдХреЙрдореНрдкрд┐рдЯреЗрд╕реАрдкреА рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реИрдз рдУрдкрди рд╕реЛрд░реНрд╕ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛ рдЬреЛ рдПрд╕рдкреАрдЖрдИрдЖрд░-рд╡реА рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░реЗрдЧрд╛ред

рджреЛ рдирдП рдХреНрд░реЛрдиреЛрд╕ рд╕рдореВрд╣ рдорд╛рдирдХ https://www.khronos.org/news/press/khronos-launches-dual-neural-network-standard-initiatives рдкрд░ рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рд╣реИрдВ

рдпрджрд┐ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рд╣рд╛рдХ рдХрд╛ рдПрдХ рдмреЗрд╣рддрд░ рд╕рдВрд╕реНрдХрд░рдг рдЖ рдЧрдпрд╛ рд╣реИ: https://github.com/ptillet/isaac , рдФрд░ рдореИрдХреНрд╕рд╡реЗрд▓, рдкрд╛рд╕реНрдХрд▓ рдФрд░ рдлрд┐рдЬреА рдкрд░ clBLAS рдФрд░ cuBLAS рдкрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЧрддрд┐-рдЕрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред 1D рдФрд░ 2D рдХрдЯреМрддреА рдХреЗ рд▓рд┐рдП Tensorflow рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬрд╝ (рдЗрдирдкреБрдЯ-рдЬрд╛рдЧрд░реВрдХ) рдХрд░реНрдиреЗрд▓ рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

@hughperkins рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ CUDA-OpenCL рдЕрдиреБрд╡рд╛рджрдХ рдХреЗ рдмрдЬрд╛рдп рдХрд┐рд╕реА рднреА OpenCL рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП CUDA рдХрдВрдкрд╛рдЗрд▓рд░ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред

@hughperkins рд╢рд╛рдпрдж OpenCL 2.0 рдХреА SVM рд╕реБрд╡рд┐рдзрд╛ рд╕реВрдЪрдХ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддреА рд╣реИ? рдЪреВрдВрдХрд┐ рдПрдирд╡реАрдбрд┐рдпрд╛ (рдПрдПрдордбреА, рдЗрдВрдЯреЗрд▓, рдПрдЖрд░рдПрдо, рдХреНрд╡рд╛рд▓рдХреЙрдо) рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╣рд░ рдХреЛрдИ рдУрдкрдирд╕реАрдПрд▓ 2.0 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ?

@hughperkins рдпрд╣ рдПрдХ рдмреНрд▓рд╛рд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реА рд╣реИред рдпрд╣ clblas рдФрд░ cublas рд╣реЗрдбрд░ рдореЗрдВ рдХреБрдЫ рдкреНрд░рддреАрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдХреЛрдИ рдкреБрдирд░реНрд╕рдВрдпреЛрдЬрди рдФрд░ рдХреЛрдб рд╕рдВрд╢реЛрдзрди рди рд╣реЛред рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдореИрдВ clblast.h рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреНрд░рддреАрдХреЛрдВ рдХреЛ рднреА рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдЕрд▓рдЧ рд╢реАрд░реНрд╖рд▓реЗрдЦ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд╣рд╛рдХ рдХреЗ рдХреБрдЫ рдлрд╛рдпрджреЗ рд╣реИрдВ:

  • рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрддрд┐рд╢реАрд▓, рддрд╛рдХрд┐ рдпрд╣ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдВрдХрд▓рди рдХреЗ CUDA рдпрд╛ OpenCL рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗред
  • рдЗрдирдкреБрдЯ-рдЬрд╛рдЧрд░реВрдХ, рдпрд╣ рдмрдбрд╝реЗ рд╡рд░реНрдЧ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдХрд░реНрдиреЗрд▓ рдХреЛ рдЯреНрдпреВрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ рдЙрди рд╕рднреА рдЖрдХреГрддрд┐рдпреЛрдВ рдкрд░ рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдмрд┐рдирд╛ рдкреБрди: рдЯреНрдпреВрди рдХрд┐рдПред
  • рд╕реА ++ рдПрдкреАрдЖрдИ numpy/arrayfire рдХреЗ рд╕рдорд╛рдиред рдХрдЯреМрддреА рдХреЗ рд╕рд╛рде рддрддреНрд╡рд╡рд╛рд░ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдВрд▓рдпрди

@рдорд╛рд░реНрдЯреА1885
рдЬрд╝рд░реБрд░реА рдирд╣реАрдВред AMD, AMDGPU-PRO рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдкрд░ 1.2 рд╕рдорд░реНрдерди рдкрд░ рд╡рд╛рдкрд╕ рдЪрд▓рд╛ рдЧрдпрд╛ред рдкреВрд░реНрдг 2.0 рд╕рдорд░реНрдерди рд╡реНрдпрд╛рдкрдХ рд╣реЛрдиреЗ рддрдХ рдХреБрдЫ рд╕рдордп рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд╣рд╛рдВ рдХреЛрдИ рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред

  • рд╣рд╛рдВ
  • рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдореИрдВ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рд╕рдВрдЧрддрддрд╛ рд╣реИрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдЧреЗ **рдПрдорд╡реА рд╕реЗ рдЬреАрдИрдПрдорд╡реА)ред рдЬрдЯрд┐рд▓ рд╕рдорд░реНрдерди рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред рдбрдмрд▓ рд╕рдкреЛрд░реНрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпрд╣рд╛рдВ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЯреНрдпреВрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

@ рд╣реНрдпреВрдЧрдкрд░рдХрд┐рдВрд╕

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рдХреЛрдб рдХрд┐рд╕реА рднреА рд╕реНрдкрд╖реНрдЯ рдУрдкрдирд╕реАрдПрд▓ рдирд┐рдпрдореЛрдВ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

рд╣рд╛рдВ, рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рднреА __global рд╕рдВрд░рдЪрдирд╛ (рдЬреИрд╕реЗ рд╕рд░рдгреА рдпрд╛ рд╕рдВрд░рдЪрдирд╛) рдХреЛ рдкрд╛рд╕ рдХрд░рдирд╛ рдЧрд▓рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХрд┐рд╕реА рдЕрдиреНрдп рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рдореЗрдореЛрд░реА рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдУрдкрдирд╕реАрдПрд▓ рдорд▓реНрдЯреА-рдбрд┐рд╡рд╛рдЗрд╕ рдкреНрд░рддрд┐рдорд╛рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдПрдХ рдбрд┐рд╡рд╛рдЗрд╕ рджреВрд╕рд░реЗ рдХреА рдореЗрдореЛрд░реА рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реИ)ред рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдИрдЖрд░ рд╕реНрддрд░ рдкрд░, рдУрдкрдирд╕реАрдПрд▓ рдХреЛрдб рдореЗрдВ рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рдЕрдиреБрд╡рд╛рдж w/o рдкрд░ рдХрд╛рдмреВ рдкрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ - рдпрд╣реА рдореИрдВрдиреЗ рдорд╛рдирд╛ :)

@benoitsteiner , @henline , https://github.com/henline/streamexecutordoc рд╕реЗ, рдпрд╣ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдЯреНрд░реАрдо рдПрдХреНрд╕рдХреНрдпреВрдЯрд░ рдиреЗ рд╕реАрдПрд▓ рд╕рдВрд╕реНрдХрд░рдг рдбрд┐рдмреНрдмрд╛рдмрдВрдж рдСрдкрд░реЗрд╢рди (рдЬреИрд╕реЗ рдбреАрдПрдирдПрди, рдмреАрдПрд▓рдПрдПрд╕) рдЖрдЙрдЯ-рдСрдл-рдмреЙрдХреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ рдХрд┐ Google рдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА clDNN, clBLAS рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди Tensorflow рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдЗрд╕реЗ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдирд╣реАрдВ рд╣реИ?

рдЕрдиреНрдпрдерд╛ OpenCL 2.0+ рдФрд░ SYCL 2.2 SVM рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдпрджрд┐ рдЖрдк рд╕рдорд╛рди рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
OpenCL 2.0+ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП AMD рдФрд░ Intel GPU рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИред рдПрдореНрдмреЗрдбреЗрдб рджреБрдирд┐рдпрд╛ рдореЗрдВ, рдУрдкрдирд╕реАрдПрд▓ 1.x рдХреЗ рд╕рд╛рде рднреА рдЗрд╕реЗ рдЕрдХреНрд╕рд░ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд▓рд╛рдЧрдд рдХрд╛рд░рдгреЛрдВ рд╕реЗ рд╣реЛрд╕реНрдЯ рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рдпрд╛рджреЗрдВ рдЕрдХреНрд╕рд░ рд╕рдорд╛рди рд╣реЛрддреА рд╣реИрдВред

@ рдХреЗрд░реАрдПрд▓
рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо, рд▓рд┐рдирдХреНрд╕ + рдирдП рдПрдПрдордбреА рдЬреАрдкреАрдпреВ (рдЖрд░рдПрдХреНрд╕ 480, рдЖрдЧрд╛рдореА рд╡реЗрдЧрд╛) рдЕрднреА рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдУрдкрдирд╕реАрдПрд▓ 1.2 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ ... рдФрд░ рдХреМрди рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрдм рдмрджрд▓рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ (рдореЗрд░реА рд╢рд░реНрдд рдПрдХ рд╡рд░реНрд╖ рдореЗрдВ рдЪрд╛рд▓реВ рд╣реИ)ред рдУрдкрдирд╕реАрдПрд▓ 2.0 рдХреЗ рд▓рд┐рдП рдмреЗрдЧрдиреЗрдЯ (рдУрдкрдирд╕реЛрд░реНрд╕ рд▓рд┐рдирдХреНрд╕ рдЗрдВрдЯреЗрд▓) рдЕрднреА рднреА рдПрдХ рдЫреЛрдЯреА рд╕реА рдЧрдбрд╝рдмрдбрд╝реА рд╣реИ; рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ 1.2 рд╣реИред
рдУрдкрдирд╕реАрдПрд▓ рд╕рдВрдЧрдд рдЪрд┐рдкреНрд╕ рдмрдирд╛рдиреЗ рд╡рд╛рд▓реА рд╕рднреА рдЫреЛрдЯреА рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЛ рднреА рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ 1.2 рд╕рдорд░реНрдерди рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдУрдкрдирд╕реАрдПрд▓ 2.0 рдкрд░ рдирд┐рд░реНрднрд░ рдХреБрдЫ рднреА рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдмрд╣реБрдд рдЦрд░рд╛рдм рдЕрдиреБрдХреВрд▓рди рджрд░ рджреЗрдЦреЗрдЧрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ.. рдХрд┐рд╕реА рднреА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╡рд┐рдХреНрд░реЗрддрд╛ рдХреЛ SPIR-V рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрддреНрдпрд╛рд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд▓реНрдХрди рдкрд░ рдЧреНрд░рд╛рдлрд┐рдХ/рд╢реЗрдбрд░реНрд╕ рдХрд╛ рджрдмрд╛рд╡ рдУрдкрдирдХреНрд▓ рдкрдХреНрд╖ рдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ ..

@ naibaf7 рдУрдкрдирд╕реАрдПрд▓ 2 рдкрд░ рдЪрд░реНрдЪрд╛ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛ рдирд╣реАрдВ, рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЪреАрдЬреЛрдВ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ ... рдЕрдиреНрдпрдерд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА nVidia GPU рдФрд░ CUDA рд╣реИ рдЬрд┐рд╕рдореЗрдВ TensorFlow рдЪрд▓ рд░рд╣рд╛ рд╣реИ ... :-)
рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, SVM рдХреЗ рдмрд┐рдирд╛ TensorFlow рдХреЗ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХреБрдЫ рд░реБрдЪрд┐ рд╣реИред

@keryell рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдкрд░ рдХрд┐рддрдирд╛ Vulkan SPIR-V рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЕрдЪреНрдЫрд╛ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╡рд░реЗрдЬ рд╣реИ) рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдзреБрдирд┐рдХ рдУрдкрдирдХреНрд▓ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдзрдХреНрдХрд╛ рджреЗрдЧрд╛?

@ naibaf7 Khronos рдмреИрдардХ рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рд╕рд┐рдпреЛрд▓ рдореЗрдВ OpenCL рдФрд░ Vulkan рджреЛрдиреЛрдВ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╣реИ, рд▓реЗрдХрд┐рди рдЪрд░реНрдЪрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рджреБрдирд┐рдпрд╛ рдХреЛ рджреВрд╕рд░реЗ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ TensorFlow рдХреЛ рд▓рд╛рдн рд╣реЛрддрд╛ рд╣реИред :-)

@ рдХреЗрд░реАрдПрд▓
рд╣рд╛рдВ, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд╡реЗ рдХреБрдЫ рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ рд▓рд╛рднрдХрд╛рд░реА рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗ :)

рдмрдзрд╛рдИ! рдПрдЪрдЖрдИрдкреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдерд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдЪрдЖрдИрдкреА рдирд╛рдордХ рдПрдХ рдирдИ рднрд╛рд╖рд╛ рдмрдирд╛рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирд╛, рдЬреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХреНрдпрд╛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЬреИрд╕реЗ рдЧрдгрдирд╛ рд╕реНрддрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдХреЗ рдбрдмрд▓ рд╕рдЯреАрдХ рд╕рдорд░реНрдерди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛)ред рдЬрдмрдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЖрдЧреЗ рдмрдврд╝рддреА рд╣реИ, рдореИрдиреНрдпреБрдЕрд▓ рдЕрдиреБрд╡рд╛рджреЛрдВ рдХреА рдорд╛рддреНрд░рд╛ рдХрдо рд╣реЛ рдЬрд╛рдПрдЧреАред рджреЗрдЦреЗрдВ: https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP

рдЖрдкрдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк HIP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдХреБрдЫ рдмрдЧреЛрдВ рдХреЛ рдареАрдХ рдХрд░реЗрдВ рдЬреЛ Tensorflow рдпрд╛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╡рд░реБрджреНрдз рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП LLVM рдХреА рд╕рдордЭ рд╣реИред рдЗрд╕ рддрд░рд╣ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рддрдп рдХреА рдЧрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИред

@ рд╣реНрдпреВрдЧрдкрд░рдХрд┐рдВрд╕
рдЗрд╕ https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md#create -the-pip-package-and-install рдХреЗ рдмрд╛рдж рдЖрдкрдХреЗ рдХрд╛рдВрдЯреЗ рдХреЗ рд╕рд╛рде рдЕрдЬрдЧрд░ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛

INFO: From Compiling tensorflow/core/kernels/gather_functor_gpu.cu.cc:
gpus/crosstool: -x cuda
gpus/crosstool: using cocl
gpus/crosstool: PATH=/usr/bin:/usr/local/bin /usr/local/bin/cocl -D_FORCE_INLINES -gencode=arch=compute_30,\"code=sm_30,compute_30\"   -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -DNDEBUG -DEIGEN_MPL2_ONLY -std=c++11  -I. -Ibazel-out/local_linux-py3-opt/genfiles -Iexternal/bazel_tools -Ibazel-out/local_linux-py3-opt/genfiles/external/bazel_tools -Iexternal/eigen_archive -Ibazel-out/local_linux-py3-opt/genfiles/external/eigen_archive  --compiler-bindir=/usr/bin/gcc -I . -fPIC  -x cu  -O2 -c  -o bazel-out/local_linux-py3-opt/bin/tensorflow/core/kernels/_objs/gather_functor_gpu/tensorflow/core/kernels/gather_functor_gpu.cu.pic.o tensorflow/core/kernels/gather_functor_gpu.cu.cc
dirname: invalid option -- 'O'
Try 'dirname --help' for more information.

рдореИрдВ ubuntu 16.04 рдкрд░ рд╣реВрдБ, dirname coreutils-8.25-2ubuntu2 рд╕реЗ рд╣реИ

@hughperkins рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рднрдВрдбрд╛рд░ рдкрд░ TF dockerfile рдХреЛ рдЯреНрд╡рд┐рдХ рдХрд░рдиреЗ рд╕реЗ рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрдЕрдк рдЖрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд╣рд╛рдВ, рдЬрдм рдХреБрдЫ рдФрд░ рдлрдВрдХреНрд╢рдирд▓ рд╣реЛрдЧрд╛ред рдореВрд▓ рд░реВрдк рд╕реЗ рдпрд╣ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рдХрд╛рдлреА рдХреЙрдкреА рдФрд░ рдЕрддреАрдд рд╣реИред

рдореИрдВ рдЗрд╕реЗ MacOS 10.10.5 рдкрд░ рдореИрдХрдмреБрдХ рдкрд░ 2015 рдХреЗ рдЕрдВрдд рдореЗрдВ рдЕрддрд┐ 6770M (рдУрдкрдирд╕реАрдПрд▓ 1.2) рдХреЗ рд╕рд╛рде рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдореИрдВрдиреЗ рдПрдХреНрд╕рдХреЛрдб 8, рдПрдирд╛рдХреЛрдВрдбрд╛ (рдкрд╛рдпрдерди 3.5), рдФрд░ рдореИрдХрдкреЙрд░реНрдЯреНрд╕ рдХреНрд▓реИрдВрдЧ + рдПрд▓рд╡реАрдПрдо рдХреЗ рд╕рдордХрдХреНрд╖ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рд╣реИрдВ:

рдЙрдкрдпреБрдХреНрдд рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдмрдЬрд╛рдп, рдХрд░реЗрдВ:

рд╕реБрдбреЛ рдкреЛрд░реНрдЯ рдХреНрд▓реИрдВрдЧ-3.8 llvm-3.8 . рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

/proc/cpuinfo рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдХрд░реЗрдВ:

NUM_PROCS=$(system_profiler SPHardwareDataType | grep "рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХреЛрд░" | рдХрдЯ-рдбреА ":" -f 2)

рдлрд┐рд░ рдореИрдХрдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрдХрдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ рдФрд░ рдореЗрдХ . рдЪрд▓рд╛рдПрдВ

perl -pi.bak -e 's|(CLANG)=.+|$1=/opt/local/libexec/llvm-3.8/bin/clag++|' рдореЗрдХрдлрд╝рд╛рдЗрд▓
perl -pi -e 's|(LLVM_CONFIG)=.+|$1=/opt/local/bin/llvm-config-mp-3.8|' рдореЗрдХрдлрд╝рд╛рдЗрд▓
perl -pi -e 's|(LLVM_INCLUDE)=.+|$1=/opt/local/libexec/llvm-3.8/include|' рдореЗрдХрдлрд╝рд╛рдЗрд▓

Macos OpenCL dirs рдореЗрдВ рдЕрджреНрдпрддрди; рднрд╡рд┐рд╖реНрдп: рдЙрдкрдпреЛрдЧ /System/Library/Frameworks/OpenCL.framework/Versions/Current/Headers/cl.h '#ifdef APPLE ' рд╕рд╢рд░реНрдд

grep -Rl 'include "CL/' * | xargs perl -pi.bak -e 's|include "CL/|include"OpenCL/|g'
рдореЗрдХ-рдЬреЗ ${NUM_PROCS}

рдпрд╣ рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдорд┐рд▓рддрд╛ рд╣реИ:

$ рдореЗрдХ-рдЬреЗ ${NUM_PROCS}
рдПрдордХреЗрдбреАрдЖрдИрдЖрд░-рдкреА рдмрд┐рд▓реНрдб
рдПрдордХреЗрдбреАрдЖрдИрдЖрд░-рдкреА рдмрд┐рд▓реНрдб
рдПрдордХреЗрдбреАрдЖрдИрдЖрд░-рдкреА рдмрд┐рд▓реНрдб
/opt/local/libexec/llvm-3.8/bin/clang++ -c -o build/hostside_opencl_funcs.o -std=c++11 -fPIC -g -O2 -I pwd /include -I pwd /src/EasyCL src/hostside_opencl_funcs.cpp
/opt/рд╕реНрдерд╛рдиреАрдп/libexec/llvm-3.8/bin/clang++ -I/usr/lib/llvm-3.8/include -fPIC -fvisibility-inlines-hidden -ffunction-sections -fdata-sections -g -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT -D__STDC_LIMIT_MACROS -std=c++11 -fcxx-рдЕрдкрд╡рд╛рдж -c -o рдмрд┐рд▓реНрдб/рдореНрдпреВрдЯреЗрд╢рди.o -g -I/opt/local/libexec/llvm-3.8/include src/mutations.cpp
/opt/рд╕реНрдерд╛рдиреАрдп/libexec/llvm-3.8/bin/clang++ -I/usr/lib/llvm-3.8/include -fPIC -fvisibility-inlines-hidden -ffunction-sections -fdata-sections -g -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT -D__STDC_LIMIT_MACROS -std=c++11 -fcxx-рдЕрдкрд╡рд╛рдж-c -o рдмрд┐рд▓реНрдб/struct_clone.o -g -I/opt/local/libexec/llvm-3.8/include src/struct_clone.cpp
/opt/рд╕реНрдерд╛рдиреАрдп/libexec/llvm-3.8/bin/clang++ -I/usr/lib/llvm-3.8/include -fPIC -fvisibility-inlines-hidden -ffunction-sections -fdata-sections -g -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT -D__STDC_LIMIT_MACROS -std=c++11 -fcxx-рдЕрдкрд╡рд╛рдж-c -o рдмрд┐рд▓реНрдб/readIR.o -g -I/opt/local/libexec/llvm-3.8/include src/readIR.cpp
src/hostside_opencl_funcs.cpp:17 рд╕реЗ рд╢рд╛рдорд┐рд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ:
/Users/erybski/git/tensorflow-cl/third_party/cuda-on-cl/include/cocl/cocl.h:91:16: рдЪреЗрддрд╛рд╡рдиреА: 'рд╣реЛрд╕реНрдЯ' рд╡рд┐рд╢реЗрд╖рддрд╛ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ [-рд╡рд┐рдЧреНрдиреЛрд░-рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯреНрд╕]
рд╡рд┐рд╢реЗрд╖рддрд╛ ((рд╣реЛрд╕реНрдЯ)) рдЗрдирд▓рд╛рдЗрди рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд▓рдВрдмреА рд▓рдВрдмреА рдкрд░рдорд╛рдгреБрдПрдХреНрд╕рдЪ (рдЕрд╕реНрдерд┐рд░ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд▓рдВрдмреА рд▓рдВрдмреА _p, рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд▓рдВрдмреА рд▓рдВрдмреА рд╡реИрд▓) {
^
src/hostside_opencl_funcs.cpp:194:33: рддреНрд░реБрдЯрд┐: рд╕рджрд╕реНрдп рдлрд╝рдВрдХреНрд╢рди 'рдЗрди' рдореЗрдВ рдХреЙрд▓ рдЕрд╕реНрдкрд╖реНрдЯ рд╣реИ
launchConfiguration.kernel->in(offset);
~~~~~~~~ ^ ~ _ _
/Users/erybski/git/tensorflow-cl/third_party/cuda-on-cl/src/EasyCL/CLKernel.h:101:15: рдиреЛрдЯ: рдХреИрдВрдбрд┐рдбреЗрдЯ рдлрдВрдХреНрд╢рди
CLKernel in(рдлреНрд▓реЛрдЯ рд╡реИрд▓реНрдпреВ);^/Users/erybski/git/tensorflow-cl/third_party/cuda-on-cl/src/EasyCL/CLKernel.h:104:15: рдиреЛрдЯ: рдХреИрдВрдбрд┐рдбреЗрдЯ рдлрдВрдХреНрд╢рдиCLKernel *in(int32_t value);^/Users/erybski/git/tensorflow-cl/third_party/cuda-on-cl/src/EasyCL/CLKernel.h:106:15: рдиреЛрдЯ: рдХреИрдВрдбрд┐рдбреЗрдЯ рдлрдВрдХреНрд╢рдиCLKernel *in(int64_t value);^/Users/erybski/git/tensorflow-cl/third_party/cuda-on-cl/src/EasyCL/CLKernel.h:108:15: рдиреЛрдЯ: рдХреИрдВрдбрд┐рдбреЗрдЯ рдлрдВрдХреНрд╢рдиCLKernel *in(uint64_t value);^/Users/erybski/git/tensorflow-cl/third_party/cuda-on-cl/src/EasyCL/CLKernel.h:110:15: рдиреЛрдЯ: рдХреИрдВрдбрд┐рдбреЗрдЯ рдлрдВрдХреНрд╢рдиCLKernel *in(uint32_t value);^/Users/erybski/git/tensorflow-cl/third_party/cuda-on-cl/src/EasyCL/CLKernel.h:73:15: рдиреЛрдЯ: рдЙрдореНрдореАрджрд╡рд╛рд░ рдХрд╛рд░реНрдп рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рдирд╣реАрдВ: 'size_t' рд╕реЗ рдХреЛрдИ рдЬреНрдЮрд╛рдд рд░реВрдкрд╛рдВрддрд░рдг рдирд╣реАрдВ (рдЙрд░реНрдл 'рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд▓рдВрдмрд╛' ') рд╕реЗ 'рдИрдЬрд╝реАрд╕реАрдПрд▓ :: CLArray *'рдкрд╣рд▓реЗ рддрд░реНрдХ рдХреЗ рд▓рд┐рдПCLKernel *in(CLArray *clarray1d) {рд░рд┐рдЯрд░реНрди рдЗрдирдкреБрдЯ (clarray1d);



}^/Users/erybski/git/tensorflow-cl/third_party/cuda-on-cl/src/EasyCL/CLKernel.h:91:36: рдиреЛрдЯ: рдЙрдореНрдореАрджрд╡рд╛рд░ рдлрд╝рдВрдХреНрд╢рди рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рдирд╣реАрдВ рд╣реИ: 2 рддрд░реНрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди 1 рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛рдЯреЗрдореНрдкрд▓реЗрдЯCLKernel *in(int N, const T *data);^1 рдЪреЗрддрд╛рд╡рдиреА рдФрд░ 1 рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрдиредрдмрдирд╛рдирд╛: *_* [рдмрд┐рд▓реНрдб/hostside_opencl_funcs.o] рддреНрд░реБрдЯрд┐ 1рдмрдирд╛рдирд╛: * *рдЕрдзреВрд░реЗ рдХрд╛рдореЛрдВ рдХрд╛ рдЗрдВрддрдЬрд╛рд░....
src/struct_clone. cpp:245 :12: рдЪреЗрддрд╛рд╡рдиреА: 11 рдЧрдгрдирд╛ рдорд╛рди рд╕реНрд╡рд┐рдЪ рдореЗрдВ рд╣реИрдВрдбрд▓ рдирд╣реАрдВ рдХрд┐рдП рдЧрдП: 'HalfTyID', 'X86_FP80TyID', 'FP128TyID'... [-Wswitch]
рд╕реНрд╡рд┐рдЪ (рдЯрд╛рдЗрдкрдЖрдИрдбреА) {
^
1 рдЪреЗрддрд╛рд╡рдиреА рдЙрддреНрдкрдиреНрдиред

launchConfiguration.kernel->in((int64_t)offset);

рдпрд╣ рдкреИрдЪ рдХрд╛рдо рдХрд░ рдЧрдпрд╛ред рдзрдиреНрдпрд╡рд╛рджред

рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдирд┐рд░реНрдорд╛рдг рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк size_t рдирд╛рдорд╕реНрдерд╛рди рддреНрд░реБрдЯрд┐рдпрд╛рдБ рд╣реБрдИрдВ:

$ рдореЗрдХ-рдЬреЗ ${NUM_PROCS}
рдПрдордХреЗрдбреАрдЖрдИрдЖрд░-рдкреА рдмрд┐рд▓реНрдб
рдПрдордХреЗрдбреАрдЖрдИрдЖрд░-рдкреА рдмрд┐рд▓реНрдб
/opt/local/libexec/llvm-3.8/bin/clang++ -c -o build/hostside_opencl_funcs.o -std=c++11 -fPIC -g -O2 -I pwd /include -I pwd /src/EasyCL src/hostside_opencl_funcs.cpp
/opt/рд╕реНрдерд╛рдиреАрдп/libexec/llvm-3.8/bin/clang++ -I/usr/lib/llvm-3.8/include -fPIC -fvisibility-inlines-hidden -ffunction-sections -fdata-sections -g -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT -D__STDC_LIMIT_MACROS -std=c++11 -fcxx-рдЕрдкрд╡рд╛рдж-рдУ рдмрд┐рд▓реНрдб/ir-to-opencl -g -I/opt/local/libexec/llvm-3.8/include src/ir-to-opencl.cpp рдмрд┐рд▓реНрдб/рд╕реНрдЯреНрд░рдХреНрдЪрд░_рдХреНрд▓реЛрди .o рдмрд┐рд▓реНрдб/readIR.o src/ir-to-opencl-common.cpp рдмрд┐рд▓реНрдб/рдореНрдпреВрдЯреЗрд╢рди.o /opt/local/bin/llvm-config-mp-3.8 --ldflags --system-libs --libs all
/opt/local/libexec/llvm-3.8/bin/clang++ -c -o build/cocl_events.o -std=c++11 -fPIC -g -O2 -I pwd /src/CLBlast/include -I pwd /include -I pwd /src/EasyCL src/cocl_events.cpp
/opt/рд╕реНрдерд╛рдиреАрдп/libexec/llvm-3.8/bin/clang++ -I/usr/lib/llvm-3.8/include -fPIC -fvisibility-inlines-hidden -ffunction-sections -fdata-sections -g -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT -D__STDC_LIMIT_MACROS -std=c++11 -fcxx-рдЕрдкрд╡рд╛рдж-рдУ рдмрд┐рд▓реНрдб/рдкреИрдЪ-рд╣реЛрд╕реНрдЯрд╕рд╛рдЗрдб-рдЬреА-рдЖрдИ/рдСрдкреНрдЯ/рд╕реНрдерд╛рдиреАрдп/libexec/llvm-3.8/include src/patch-hostside.cpp рдмрд┐рд▓реНрдб/readIR.o рдмрд┐рд▓реНрдб/ рдореНрдпреВрдЯреЗрд╢рди.рдУ рдмрд┐рд▓реНрдб/рд╕реНрдЯреНрд░рдХреНрдЪрд░_рдХреНрд▓реЛрди.рдУ src/ir-to-opencl-common.cpp /opt/local/bin/llvm-config-mp-3.8 --ldflags --system-libs --libs all
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ src/hostside_opencl_funcs рд╕реЗ рд╢рд╛рдорд┐рд▓ рд╣реИред рд╕реАрдкреАрдкреА:17 :
/Users/erybski/git/tensorflow-cl/third_party/cuda-on-cl/include/cocl/cocl.h:91:16: рдЪреЗрддрд╛рд╡рдиреА: 'рд╣реЛрд╕реНрдЯ' рд╡рд┐рд╢реЗрд╖рддрд╛ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ [-рд╡рд┐рдЧреНрдиреЛрд░-рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯреНрд╕]
рд╡рд┐рд╢реЗрд╖рддрд╛ ((рд╣реЛрд╕реНрдЯ)) рдЗрдирд▓рд╛рдЗрди рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд▓рдВрдмреА рд▓рдВрдмреА рдкрд░рдорд╛рдгреБрдПрдХреНрд╕рдЪ (рдЕрд╕реНрдерд┐рд░ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд▓рдВрдмреА рд▓рдВрдмреА _p, рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд▓рдВрдмреА рд▓рдВрдмреА рд╡реИрд▓) {
^
/opt/local/libexec/llvm-3.8/bin/clang++ -c -o build/cocl_blas.o -std=c++11 -fPIC -g -O2 -I pwd /src/CLBlast/include -I pwd /include -I pwd /src/EasyCL src/cocl_blas.cpp
1 рдЪреЗрддрд╛рд╡рдиреА рдЙрддреНрдкрдиреНрдиред
/opt/local/libexec/llvm-3.8/bin/clang++ -c -o build/cocl_error.o -std=c++11 -fPIC -g -O2 -I pwd /src/CLBlast/include -I pwd /include -I pwd /src/EasyCL src/cocl_error.cpp
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ src/cocl_blas рд╕реЗ рд╢рд╛рдорд┐рд▓ рд╣реИред рд╕реАрдкреАрдкреА:15 :
/Users/erybski/git/tensorflow-cl/third_party/cuda-on-cl/include/cocl/cocl_blas.h:8:9: рдПрд░рд░: рдиреЗрдорд╕реНрдкреЗрд╕ 'std' рдореЗрдВ 'size_t' рдирд╛рдо рдХрд╛ рдХреЛрдИ рдЯрд╛рдЗрдк рдирд╣реАрдВ; рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рдмрд╕ 'size_t' рдерд╛?
рдЯрд╛рдЗрдкрдкреАрдл рдПрд╕рдЯреАрдбреА :: size_t cublasStatus_t;
^ ~ ~
size_t
/opt/local/libexec/llvm-3.8/bin/../lib/clang/3.8.1/include/stddef.h:62:23: рдиреЛрдЯ: 'size_t' рдпрд╣рд╛рдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдЯрд╛рдЗрдкрдкреАрдл SIZE_TYPE size_t;
^
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ src/cocl_blas рд╕реЗ рд╢рд╛рдорд┐рд▓ рд╣реИред рд╕реАрдкреАрдкреА:15 :
/Users/erybski/git/tensorflow-cl/third_party/cuda-on-cl/include/cocl/cocl_blas.h:17:5: рдПрд░рд░: рдиреЗрдорд╕реНрдкреЗрд╕ 'std' рдореЗрдВ 'size_t' рдирд╛рдо рдХрд╛ рдХреЛрдИ рдЯрд╛рдЗрдк рдирд╣реАрдВ; рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рдмрд╕ 'size_t' рдерд╛?
std::size_t cublasCreate(cublasHandle_t phandle);^ ~ ~size_t/opt/local/libexec/llvm-3.8/bin/../lib/clang/3.8.1/include/stddef.h:62:23: рдиреЛрдЯ: 'size_t' рдпрд╣рд╛рдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИрдЯрд╛рдЗрдкрдкреАрдл SIZE_TYPE size_t;^рдлрд╝рд╛рдЗрд▓ рдореЗрдВ src/cocl_blas рд╕реЗ рд╢рд╛рдорд┐рд▓ рд╣реИред
рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рдмрд╕ 'size_t' рдерд╛?std::size_t cublasDestroy (cublasHandle_t рд╣реИрдВрдбрд▓);^ ~ ~size_t/opt/local/libexec/llvm-3.8/bin/../lib/clang/3.8.1/include/stddef.h:62:23: рдиреЛрдЯ: 'size_t' рдпрд╣рд╛рдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИрдЯрд╛рдЗрдкрдкреАрдл SIZE_TYPE size_t;^рдлрд╝рд╛рдЗрд▓ рдореЗрдВ src/cocl_blas рд╕реЗ рд╢рд╛рдорд┐рд▓ рд╣реИред
рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рдмрд╕ 'size_t' рдерд╛?std::size_t cublasSgemm(cublasHandle_t blas, int transA, int transB, int M, int N, int K,^ ~ ~size_t/opt/local/libexec/llvm-3.8/bin/../lib/clang/3.8.1/include/stddef.h:62:23: рдиреЛрдЯ: 'size_t' рдпрд╣рд╛рдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИрдЯрд╛рдЗрдкрдкреАрдл SIZE_TYPE size_t;^рдлрд╝рд╛рдЗрд▓ рдореЗрдВ src/cocl_blas рд╕реЗ рд╢рд╛рдорд┐рд▓ рд╣реИред
рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рдмрд╕ 'size_t' рдерд╛?std::size_t cublasSetPointerMode(cublasHandle_t рд╣реИрдВрдбрд▓, cublasPointerMode_t рдореЛрдб);^ ~ ~size_t/opt/local/libexec/llvm-3.8/bin/../lib/clang/3.8.1/include/stddef.h:62:23: рдиреЛрдЯ: 'size_t' рдпрд╣рд╛рдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИрдЯрд╛рдЗрдкрдкреАрдл SIZE_TYPE size_t;^рдлрд╝рд╛рдЗрд▓ рдореЗрдВ src/cocl_blas рд╕реЗ рд╢рд╛рдорд┐рд▓ рд╣реИред
рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рдмрд╕ 'size_t' рдерд╛?std::size_t cublasGetPointerMode(cublasHandle_t рд╣реИрдВрдбрд▓, cublasPointerMode_t *mode);^ ~ ~size_t/opt/local/libexec/llvm-3.8/bin/../lib/clang/3.8.1/include/stddef.h:62:23: рдиреЛрдЯ: 'size_t' рдпрд╣рд╛рдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИрдЯрд╛рдЗрдкрдкреАрдл SIZE_TYPE size_t;^рдлрд╝рд╛рдЗрд▓ рдореЗрдВ src/cocl_blas рд╕реЗ рд╢рд╛рдорд┐рд▓ рд╣реИред
рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рдмрд╕ 'size_t' рдерд╛?std::size_t cublasSetStream (cublasHandle_t рд╣реИрдВрдбрд▓, cudaStream_t streamId);^ ~ ~size_t/opt/local/libexec/llvm-3.8/bin/../lib/clang/3.8.1/include/stddef.h:62:23: рдиреЛрдЯ: 'size_t' рдпрд╣рд╛рдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИрдЯрд╛рдЗрдкрдкреАрдл SIZE_TYPE size_t;^/opt/local/libexec/llvm-3.8/bin/clang++ -c -o build/cocl_memory.o -std=c++11 -fPIC -g -O2 -I pwd /src/CLBlast/include -I pwd /include -I pwd /src/EasyCL src/cocl_memory.cpp/opt/local/libexec/llvm-3.8/bin/clang++ -c -o build/cocl_device.o -std=c++11 -fPIC -g -O2 -I pwd /src/CLBlast/include -I pwd /include -I pwd /src/EasyCL src/cocl_device.cpp7 рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдЙрддреНрдкрдиреНрдиредрдмрдирд╛рдирд╛: *_* [рдмрд┐рд▓реНрдб/cocl_blas.o] рддреНрд░реБрдЯрд┐ 1рдмрдирд╛рдирд╛:* *рдЕрдзреВрд░реЗ рдХрд╛рдореЛрдВ рдХрд╛ рдЗрдВрддрдЬрд╛рд░....

рдХреНрдпрд╛ рд╣рдо рдзрд╛рдЧреЗ рдХреЛ рдЕрднреА рднреА рдкрдардиреАрдп рд╣реЛрдиреЗ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕реНрдЯ рдкрд░ рд▓рдВрдмреЗ рд▓реЙрдЧ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ?

рдкреНрд░рд╢реНрди: рдЖрдк рд▓реЛрдЧ рдПрдбреНрд░реЗрд╕ рд╕реНрдкреЗрд╕ рдХреЗ рдореБрджреНрджреЗ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

@hughperkins рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдЪрд╢реНрдорд╛ рдЦрдВрдб 5.8 ("рдкрддрд╛-рд╕реНрдерд╛рди рдХрдЯреМрддреА") рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ
рд╡рд┐рднрд┐рдиреНрди рдореЗрдореЛрд░реА рдкреНрд░рдХрд╛рд░реЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреИрд╕реЗ рд╣реЛрддреА рд╣реИред рдЗрд╕
PlayStation 3 рдХреЗ рд▓рд┐рдП рдХрд┐рдП рдЧрдП рдкрд┐рдЫрд▓реЗ рдХрд╛рд░реНрдп рдХреЗ рд╕рдорд╛рди рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ
рдпрд╣ рдкреЗрдкрд░: рдСрдлрд▓реЛрдб - рдСрдЯреЛрдореЗрдЯрд┐рдВрдЧ рдХреЛрдб рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЯреВ рд╣реЗрдЯреЗрд░реЛрдЬреЗрдирд┐рдпрд╕рдорд▓реНрдЯреАрдХреЛрд░ рд╕рд┐рд╕реНрдЯрдо рдпрд╛ рд╕реА ++: рдХреНрд▓реИрдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд┐рдВрдЧрд▓-рд╕реЛрд░реНрд╕ рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдФрд░ рдПрдЪрдПрд╕рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЙрдбрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛

рдЙрдореНрдореАрдж рд╣реИ рдХреА рд╡реЛ рдорджрдж рдХрд░рджреЗред

@hughperkins рдХреНрдпрд╛ рдореИрдВ рдЕрдкрдиреЗ рдПрдЖрд░рдПрдо рдмреЛрд░реНрдб рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдУрдкрдирд╕реАрдПрд▓ рд░реЗрдкреЛ рдХреЛрдб рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдорд╛рдИ рдПрдЖрд░рдПрдо рдмреЛрд░реНрдб рдореЗрдВ рдЗрдореЗрдЬрд┐рдиреЗрд╢рди рдЬреАрдкреАрдпреВ рд╣реИ рдЬреЛ рдУрдкрдирдХреНрд▓ 1.2 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

рдЯреАрдПрдл/рдЗрдВрдЯреЗрд▓ рд╕рдорд░реНрдерди рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╕рдордп рдореИрдВ рдЗрд╕ рдзрд╛рдЧреЗ рдкрд░ рдареЛрдХрд░ рдЦрд╛рдИред

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЗрдВрдЯреЗрд▓ рдореИрдХрдмреБрдХ рдкреНрд░реЛ рд╣реИ, рдореИрдВ рдХреИрд╕реЗ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдореБрдЭреЗ рд╕реА/рд╕реА ++ рдирд╣реАрдВ рдкрддрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдмрд┐рд▓реНрдб/рд╕рдВрдХрд▓рди/рдкрд░реАрдХреНрд╖рдг рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдмреИрдХ (рдкреЗрд╕реНрдЯрдмрд┐рди) рдкрд░рд┐рдгрд╛рдо рдкрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ ...

рдбреЗрд░реЗрдХ$ system_profiler SPDisplaysDataType
рдЧреНрд░рд╛рдлрд┐рдХреНрд╕/рдбрд┐рд╕реНрдкреНрд▓реЗ:

Intel Iris:

  Chipset Model: Intel Iris
  Type: GPU
  Bus: Built-In
  VRAM (Dynamic, Max): 1536 MB
  Vendor: Intel (0x8086)
  Device ID: 0x0a2e
  Revision ID: 0x0009
  Metal: Supported
  Displays:
    Color LCD:
      Display Type: Retina LCD
      Resolution: 2560 x 1600 Retina
      Retina: Yes
      Pixel Depth: 32-Bit Color (ARGB8888)
      Main Display: Yes
      Mirror: Off
      Online: Yes
      Automatically Adjust Brightness: Yes
      Built-In: Yes
    PL2202W:
      Resolution: 1680 x 1050 @ 60 Hz
      Pixel Depth: 32-Bit Color (ARGB8888)
      Display Serial Number: 05884C7A57014
      Mirror: Off
      Online: Yes
      Rotation: Supported
      Adapter Type: Apple Mini DisplayPort To VGA Adapter
      Automatically Adjust Brightness: No
      Adapter Firmware Version: 1.03

@hughperkins рдЖрдкрдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рдореИрдВ рдЖрдкрдХреЗ cuda-on-cl рдХреЛ рдЖрд░реНрдо рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВред рдЖрдкрдХреЗ cuda-on-cl рдХреА рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдХреЗ рдмрд╛рдж:
рдореЗрд░реЗ рдПрдЖрд░рдПрдо рдмреЛрд░реНрдб рдХреА рдЬрд╛рдирдХрд╛рд░реА:
рдЖрд░реНрдо 64, рдЬреАрд╕реАрд╕реА 4.9, рдХреНрд▓реИрдВрдЧ рдФрд░ рдПрд▓рд╡реАрдПрдо 3.5, рдУрдкрдирд╕реАрдПрд▓ 1.2

* рдХреНрдпрд╛ рдореБрдЭреЗ рдХреНрд▓реИрдВрдЧ ++ - 3.8 рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ? *
git рдХреНрд▓реЛрди --recursive https://github.com/hughperkins/cuda-on-cl
рдмрдирд╛рдирд╛
рддреНрд░реБрдЯрд┐:
рдХреНрд▓реИрдВрдЧ ++ - 3.8: рдХрдорд╛рдВрдб рдирд╣реАрдВ рдорд┐рд▓реА
рдореИрдВ рдореЗрдХрдлрд╝рд╛рдЗрд▓ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ: CLANG=clang++ LLVM_CONFIG=llvm-config LLVM_INCLUDE=/usr/include/llvm
рдлрд┐рд░ рдмрдирд╛рдПрдВ:
рддреНрд░реБрдЯрд┐:
src/mutations.h:3:10: рдШрд╛рддрдХ рддреНрд░реБрдЯрд┐: 'llvm/IR/Module.h' рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдорд┐рд▓реА

рд░рди рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рд░рди-рдЯреЗрд╕реНрдЯ-cocl-cuda_sample:
рдмрдирд╛рдирд╛: cocl: рдХрдорд╛рдВрдб рдирд╣реАрдВ рдорд┐рд▓реА

@hughperkins рдореБрдЭреЗ рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдиреЗ рджреЗрдВред

рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдХреЗ рд╕рд╛рде рдХреЗрд░рд╕ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╕рдордп рддреНрд░реБрдЯрд┐ рд╣реБрдИ

keras$ KERAS_BACKEND=tensorflow pytest3

рдЖрдЙрдЯрдкреБрдЯ рддреНрд░реБрдЯрд┐рдпрд╛рдВ:

Invalid kernel name, code -46, kernel _ZN5Eigen8internal15EigenMetaKernelINS_15TensorEvaluatorIKNS_14TensorAssignOpINS_9TensorMapINS_6TensorIfLi1ELi1EiEELi16ENS_11MakePointerEEEKNS_18TensorCwiseUnaryOpINS0_12scalar_rightIffNS0_17scalar_product_opIffEEEEKNS4_INS5_IKfLi1ELi1EiEELi16ES7_EEEEEENS_9GpuDeviceEEEiEEvT_T0_
__internal__ build log: 
"/tmp/OCL11307T1.cl", line 3: error: variable with automatic storage duration
          cannot be stored in the named address space
      local float mem[1024];

рдХреЛрдб:

inline float __shfl_down_3(float v0, int v1, int v2) {
    local float mem[1024];
    int tid = get_local_id(0);
    int warpid = tid % 32;
    int warpstart = tid - warpid;
    mem[tid] = v0;
    //barrier(CLK_LOCAL_MEM_FENCE);
    int warpsrc = warpid + v1;
    warpsrc = warpsrc >= 32 ? warpid : warpsrc;
    return mem[warpstart + warpsrc];
}

рд╣рд╛рдп рд╕рдм, рдореЗрд░рд╛ рдирд╛рдо рд░рд┐рдХрд╛рд░реНрдбреЛ рд╣реИ, рдореИрдВ рд╕реА ++ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╣реВрдВ, рд╕реА ++ рдЕрдиреБрднрд╡ рдореЗрдВ рдХрдИ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд╕рд╛рде, рдФрд░ рдХреВрдбрд╛ рдкрд░ рдереЛрдбрд╝рд╛, рдореБрдЭреЗ рдЗрд╕ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред рдореИрдВ рдЗрд╕ рдиреМрдХрд░реА рдореЗрдВ рдХреИрд╕реЗ рдпреЛрдЧрджрд╛рди рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ?

рдареАрдХ рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ рдорд╛рд▓реА-T628 MP6 (OpenGL ES 3.0/2.0/1.1 рдФрд░ OpenCL 1.1 рдкреВрд░реНрдг рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓) рдХреЗ рд╕рд╛рде рдПрдХ Odroid Xu3 рд╣реИред
рдУрдПрд╕ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ: рд▓реБрдмрдВрдЯреВ 1404 64 рдмрд┐рдЯ
рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЗрдВрд╕реНрдЯрд╛рд▓реЗрд╢рди рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЗрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдкрд░рд┐рдгрд╛рдо рдкреЛрд╕реНрдЯ рдХрд░реВрдВрдЧрд╛ред
рдмрдЧреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдмрдЧреНрд╕ рдХреА рд╕реВрдЪреА рд╣реИ (рдмрдЧрдЬрд╝рд┐рд▓рд╛ рдЬреИрд╕рд╛ рдХреБрдЫ?) рдпрд╛ рдмрдЧреНрд╕ рдХреА рд╕реВрдЪреА рд╡рд╛рд▓реА рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ?
рдЪреАрдпрд░реНрд╕!

рдПрдЪрдЖрдИрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/blob/master/docs/markdown/hip_faq.md#how -does-hip-compare-with-opencl
https://github.com/RadeonOpenCompute/hcc
https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/issues/45
"рдЖрдкрдХреА рдЗрдЪреНрдЫрд╛ рджреА рдЬрд╛ рд░рд╣реА рд╣реИ, Eigen рдХреЛ HIP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ AMD GPU рдкрд░ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЖрдкрдХреЗ рдЕрдиреБрд░реЛрдз рдХрд╛ рджреВрд╕рд░рд╛ рднрд╛рдЧ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣рдо FLOAT16 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдорд╛рдирдХреАрдХреГрдд рдЯреВрд▓ рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рд╕рднреА GFX8 GPU рдХреЗ рд╕рд╛рде рдЬрд╣рд╛рдЬ рдХрд░рддрд╛ рд╣реИ, рдЗрдЪреНрдЫрд╛ рджреА рдЧрдИ рд╣реИред"
рдПрдПрдордбреАрдЬреАрдкреАрдпреВ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреА рд╣рдорд╛рд░реА рд╡рд┐рдХрд╛рд╕ рд╢рд╛рдЦрд╛ рдЕрдм рдПрдлрдкреА16/рдЗрдВрдЯ16 рдХреЛ рдПрдлрдкреА16/рдЗрдВрдЯ16 рд╕реЗ рдлреНрд▓реЛрдЯ рдФрд░ рдмреИрдХ рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдк рдХрдиреНрд╡рд░реНрдЯ рдФрд░ рдбрд╛рдЙрди рдХрдиреНрд╡рд░реНрдЯ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдПрдлрдкреА16/рдЗрдВрдЯ16 рдХреЛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдлреНрд▓реЛрдЯ16 рдФрд░ рдЗрдВрдЯ16 рджреЛрдиреЛрдВ рдореВрд▓ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИред

рдпрд╣ рдлрд┐рдЬреА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ f16 рдкрд░реАрдХреНрд╖рдг рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЖрдзрд╛ рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдФрд░ рдореВрд▓ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЧреБрдгрди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред"

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ 1.2 рдХреЗ рдмрдЬрд╛рдп syCL/openCL 2.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдПрдирд╡реАрдбрд┐рдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реАрдпреВрдбреАрдП рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИред рдФрд░ рдУрдкрдирд╕реАрдПрд▓ 2.0 рдПрдПрдордбреА рдФрд░ рдЗрдВрдЯреЗрд▓ рд╡рд┐рдВрдбреЛрдЬ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рджреЛрдиреЛрдВ рдкрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрдПрдордбреА рдиреЗ рдХрд╣рд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЬрд▓реНрдж рд╣реА рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдУрдкрди рд╕реАрдПрд▓ 2.0 рдбреНрд░рд╛рдЗрд╡рд░ рдЦреЛрд▓реЗрдВрдЧреЗ (рдЬрд┐рд╕реЗ рдЗрдВрдЯреЗрд▓, рдУрдкрдирд╕реЛрд░реНрд╕ рдЬрд╛рджреВ рджреНрд╡рд╛рд░рд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ) (рдФрд░ рдЗрдВрдЯреЗрд▓ рдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд▓рд┐рдирдХреНрд╕ рдУрдкрдирд╕реАрдПрд▓ 2.0 рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ рдЬрд┐рд╕реЗ рдмрд╕ рдкрд░рд┐рдкрдХреНрд╡рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред) рдпрджрд┐ рдЖрдк рдЗрдВрдЯреЗрд▓ рдФрд░ рдПрдПрдордбреА рд╕реЗ рдкреВрдЫреЗрдВ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд╡реЗ рдХрд╛рдо рдореЗрдВ рддреЗрдЬреА рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рдЖрд░реНрдерд┐рдХ рд╣рд┐рддреЛрдВ рдХреЗ рд▓рд┐рдП рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдФрд░ рд╡реЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдХрд╣ рдЪреБрдХреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗред рд╕рд╛рде рд╣реА рд╕рднреА рдкреНрд░рдореБрдЦ рдПрдЖрд░рдПрдо рдирд┐рд░реНрдорд╛рддрд╛ рдУрдкрдирд╕реАрдПрд▓ 2.0 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ Android (рдЬреЛ Google рдХреЗ рдЖрд░реНрдерд┐рдХ рд╣рд┐рдд рдореЗрдВ рд╣реИ), рд░рд╛рд╕реНрдкрдмреЗрд░реА рдЬреИрд╕реЗ, рд╕реНрдорд╛рд░реНрдЯ рдЯреАрд╡реА рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрд╡рд╕рд░ рдЦреЛрд▓ рд╕рдХрддрд╛ рд╣реИред

рдФрд░ рдордзреНрдп рдЕрд╡рдзрд┐ рдореЗрдВ рд╣рдо рдЕрдВрддрддрдГ рдЧреИрд░ рд╕рдорд░реНрдерд┐рдд рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рдПрдХ opencl 1.2 рдлрд╝реЙрд▓рдмреИрдХ рдкрд░рдд рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдУрдкрдирд╡реАрдПрдХреНрд╕ (рдЬреЛ рдЕрдм рд╕рднреА рдкреНрд░рдореБрдЦ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдирд┐рд░реНрдорд╛рддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рдФрд░ рдПрдПрдордбреА рдХреЗ рдкрд╛рд╕ рдПрдХ рдУрдкрдирд╕реЛрд░реНрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ) рдФрд░ https://www.khronos.org/news/press/khronos-launches-dual-neural-network рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдФрд░ рд╕рднреА рд╕реНрдкрд┐рд░-рд╡реА рдХреЗ рд╕рд╛рде (рдЬрд┐рд╕реЗ рд╡рд▓реНрдХрди рдФрд░ рдУрдкрдирдЬреАрдПрд▓ рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред
рдЖрдк рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рдХрд╣реА рдЧрдИ рдмрд╛рддреЛрдВ рдХрд╛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╕рд┐рдВрдереЗрдЯрд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
рдФрд░ рдЕрдВрдд рдореЗрдВ, рдХреНрдпрд╛ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдПрдЪрдПрд╕рдП рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

http://www.hsafoundation.com
Android рдкрд░ HSA рдХрдорд╛рд▓ рдХрд╛ рд╣реЛрдЧрд╛ред

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдПрдЪрдЖрдИрдкреА рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдпрд╛ рдирд╣реАрдВред рдпрд╣ рдХреЗрд╡рд▓ рдХреБрдЫ рдПрдПрдордбреА рдХрд╛рд░реНрдбреЛрдВ рдкрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рд╣рдо рд╕рднреА рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рд╣рдореЗрдВ рдУрдкрдирд╕реАрдПрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдЕрднреА рднреА рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдПрдЪрдЖрдИрдкреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд░реВрдк рд╕реЗ рддреЗрдЬ рд╣реЛред рдпрд╣ рдорд╛рдорд▓рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдХрдИ рдмреЗрдВрдЪрдорд╛рд░реНрдХ (рдПрдЪрдЖрдИрдкреА рдмрдирд╛рдо рдУрдкрдирд╕реАрдПрд▓) рдирд╣реАрдВ рджреЗрдЦреЗ рд╣реИрдВред рдПрдХ рдЕрдиреНрдп рдХрд╛рд░рдг MLOpen (рдЬреЛ HC рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ) рдХреЛ cudnn рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╕реЗ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рддреЗрдЬрд╝ рд╣реИ рдпрд╛ рдпрд╣ рдХрд┐рди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

TensorFlow рд╕реАрдзреЗ HSA рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд╛рдлреА рдирд┐рдореНрди-рд╕реНрддрд░ рд╣реИред рд▓реЗрдХрд┐рди рдПрдЪрд╕реА (рдФрд░ рдПрдЪрдЖрдИрдкреА) рдЗрд╕рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЖрдк рдУрдкрдирд╕реАрдПрд▓ рдХреЛ рд╢реАрд░реНрд╖ рдкрд░ рднреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдкреАрдУрд╕реАрдПрд▓ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реИ)ред

рдХреНрдпрд╛ рд░рд┐рд▓реВрдкрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдпрд╣рд╛рдВ рдорджрджрдЧрд╛рд░ рд╣реЛрдЧрд╛? http://mozakai.blogspot.ca/2012/05/reloop-all-blocks.html

@hughperkins рдпрд╣ рджреЗрдЦрдХрд░ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛ рдХрд┐ рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдкреНрд░рдЧрддрд┐ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ TensorFlow рдХреЗ рд▓рд┐рдП рдСрдл-рдЯреЙрдкрд┐рдХ рдмрди рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХрдВрдкрд╛рдЗрд▓рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ GitHub рдкреЗрдЬ рдкрд░ рдХрдИ рдЫреЛрдЯреЗ рдЪрд░реНрдЪрд╛ рд╕реВрддреНрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдзрд┐рдХ рдХреЗрдВрджреНрд░рд┐рдд рдФрд░ рдЙрддреНрдкрд╛рджрдХ рд╣реЛрдЧрд╛ред

рджреЗрдЦреЗрдВ https://github.com/chihchun/opencl-docker

https://github.com/kripken/emscripten-fastcomp/blob/master/lib/Target/JSBackend/Relooper.cpp рднреА рд╣реИ

рдпрд╣рд╛рдВ рд╕рдВрдмрджреНрдз рдкреЗрдкрд░ рд╣реИ: https://github.com/kripken/emscripten/blob/master/docs/paper.pdf?raw=true

рдкреНрд░рд╛рд░рдВрднрд┐рдХ OpenCL/SyCL рд╕рдорд░реНрдерди рдХреЛ рдорд╛рд╕реНрдЯрд░ рдореЗрдВ https://github.com/tensorflow/tensorflow/pull/5267 рдХреЗ рд╕рд╛рде рдорд┐рд▓рд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

рдмрдзрд╛рдИ рд╣реЛ!

@keryell рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ , рдЯреНрд░рд╛рдИрдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдХрд╛ рдХреНрдпрд╛ рд╣реБрдЖ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдХреЗрд╡рд▓ рдЦреНрд░реЛрдиреЛрд╕ рдХреЗ рдЧрд┐рдЯрд▓рд╛рдм рдХрд╛ рд╕рдВрджрд░реНрдн рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рд╕реБрд▓рдн рдирд╣реАрдВ рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдореБрдЭреЗ рдЖрдкрдХрд╛ рдирд┐рдЬреА рдХреНрд▓реЛрди рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдПрдПрдордбреА рд╕реЗ рдПрдХ рд╣реА рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИред

@bhack , рдореИрдХ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЗрдВ рдУрдкрдирдХреНрд▓-рдбреЙрдХрд░ рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ?

@alepman рдореЗрд░реЗ рдкрд╛рд╕ OSX рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реЙрдиреНрдЪрд┐рдВрдЧ рдХрдорд╛рдВрдб рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд╛ рдЕрдкрдирд╛рдиреЗ рд╕реЗ рдХрд╛рдо рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред

@bhack @alepman : рдКрдкрд░ рдореИрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рджреЗрдЦреЗрдВ, рдЕрдЧрд░ рдЖрдк рдореБрдЭреЗ рдирд┐рд░реНрдорд╛рдг рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдореБрдЭреЗ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛

@olesalscheider : рд╣рд╛рдБ, triSYCL AMD рд╕реЗ Xilinx https://github.com/Xilinx/triSYCL рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдЖрдк рд╕рд╣реА рд╣реИрдВ, рдореЗрд░реЗ GitHub рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдкрд░ рд╕рдВрд╕реНрдХрд░рдг https://github.com/keryell/triSYCL рдкрд░ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

рд╣рдордиреЗ рдЕрднреА рддрдХ TensorFlow рдкрд░ рдЯреНрд░рд╛рдИрдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИред рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдмрдбрд╝рд╛ рдирд┐рд░реНрдорд╛рдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛рд░реНрдп рд╣реИ ...

@keryell рдЯреНрд░рд╛рдИрдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ?

Intel beignet opencl 2.0 рд╕рдкреЛрд░реНрдЯ рд▓рдЧрднрдЧ рдкреВрд░рд╛ рд╣реЛ рдЪреБрдХрд╛ рд╣реИ!
http://phoronix.com/scan.php?page=news_item&px=Beignet-Birthday-CL2

@bhack triSYCL рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЕрдм Xilinx рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрднреА рднреА рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЬреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВред рдХреНрд▓реИрдВрдЧ/рдПрд▓рдПрд▓рд╡реАрдПрдо-рдЖрдзрд╛рд░рд┐рдд рдЖрдЙрдЯрд▓рд╛рдЗрдирд┐рдВрдЧ рдХрдВрдкрд╛рдЗрд▓рд░ рдЕрднреА рднреА рдПрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдкреВрд░реНрдг рдПрдХрд▓-рд╕реНрд░реЛрдд рдЕрдиреБрднрд╡ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╣реИред рд▓реЗрдХрд┐рди рдУрдкрдирд╕реАрдПрд▓ рд╕рдВрдЧрддрддрд╛ рдореЛрдб, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рд╛рдЧреВ рд╣реИ, рдХрд╛ рдХреБрдЫ рдореВрд▓реНрдп рднреА рд╣реИ, рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рд░рдирдЯрд╛рдЗрдо рдХреЗ рд╕рд╛рде рдореЗрдЬрдмрд╛рди рдФрд░ рдХрд░реНрдиреЗрд▓ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдХрд░, рдПрдХреНрд╕реЗрд╕рд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рд╡реНрдпрдХреНрдд рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЖрд▓рд╕реА рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдХрд░рдирд╛ред

рдореЗрд░рд╛ рдореИрдХ рдУрдкрдирд╕реАрдПрд▓ рд╕рдВрдЧрдд рд╣реИ, рддреЛ рдореИрдВ рдУрдкрдирд╕реАрдПрд▓ рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рдХреИрд╕реЗ рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реВрдВ? рдореИрдВрдиреЗ рдЕрднреА рдкрд╛рдпрд╛ рд╣реИ рдХрд┐ рдЬрдм рдореИрдВ рдирдП рдХреЛрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдУрдкрдирдХреНрд▓ рдХреЛ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

@hughperkins рдореЗрд░реЗ рдореИрдХ рдореЗрдВ рдХреЛрдИ clinfo рдирд┐рд░реНрджреЗрд╢ рдирд╣реАрдВ рд╣реИ, рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рд▓реЗрдХрд┐рди рдореИрдВ рдХреНрд▓реИрдВрдЧ рдХреЗ рд╕рд╛рде рдУрдкрдирдХреНрд▓ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдЯреЗрд╕реНрдЯ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдирд┐рдореНрди рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ:
clang -framework OpenCL dumpcl.c -o dumpcl && ./dumpcl Device Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz supports OpenCL 1.2 Device Intel(R) Iris(TM) Graphics 6100 supports OpenCL 1.2

рдзрдиреНрдпрд╡рд╛рдж @hughperkins , рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдХрд▓ рдХрдВрдкреНрдпреВрдЯреЗрдХрдк рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдереА, рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдХрдмреБрдХ рд╕рд┐рд╕реНрдЯрдо рдЕрднреА рднреА рдХрдВрдкреНрдпреВрдЯреЗрдХрдк рдХреЗ рд╕рд╛рде рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╢рд╛рдпрдж рдирдП рдЕрдкрдбреЗрдЯ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддреЗ рд░рд╣реЗрдВ, рдпрд╣реА рдПрдХрдорд╛рддреНрд░ рдЪреАрдЬ рд╣реИ рдЬреЛ рдореИрдВ (рдЯреАрдЯреА) рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ, рдореЗрд░реА рдЖрдИрд░рд┐рд╕ 6100 рдЖрда рдкреАрдврд╝реА рд╣реИ, рдЬреЛ рдУрдкрдирд╕реАрдПрд▓ 1.2 рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИред

@hughperkins рд╣рд╛рдБ SYCL 1.2 OpenCL 1.2 рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИ рдФрд░ SYCL 2.2 OpenCL 2.2 рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдХрд╣рд╛ "рдПрдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛" рдЪреВрдВрдХрд┐, рдпрджрд┐ рдЖрдк рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдХреЗ рдУрдкрдирд╕реАрдПрд▓-рд╕рдВрдЧрддрддрд╛ рдореЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдУрдкрдирд╕реАрдПрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ SYCL рд╡рд┐рд╖рдо рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп рдореЙрдбрд▓ рд╣реИ рдФрд░ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреЗ рдКрдкрд░ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдУрдкрдирд╕реАрдПрд▓ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдирдорд╕реНрддреЗ,

рдореИрдВ рдлрд┐рд▓рд╣рд╛рд▓ TensorFlow рдФрд░ Keras рдХреЗ рд╕рд╛рде рд╕реАрдЦ рд░рд╣рд╛/рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ macOS рдХреЗ рддрд╣рдд OpenCL рд╕рдкреЛрд░реНрдЯ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреА ... рдХреНрдпрд╛ macOS рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд┐рдП рдЧрдП рдХрд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЦрдмрд░ рд╣реИ?

рдореИрдВ TensorFlow рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдлрд▓ рд░рд╣рд╛, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВ OpenCL рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдореБрдЭрд╕реЗ рдХрдВрдкреНрдпреВрдЯрд╕реАрдкреАрдкреА 1.2 рд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдП рдкреВрдЫрддрд╛ рд╣реИ, рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдХреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХрдВрдкреНрдпреВрдЯрд╕реАрдкреАрдкреА рдирд╣реАрдВ рд╣реИред

рдирдорд╕реНрдХрд╛рд░ред рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ ML / Tensorflow / рдпрд╛ рдпрд╣рд╛рдБ рддрдХ рдХрд┐ OpenCL рдХрд╛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ рдЕрдиреБрднрд╡реА рдореИрдХ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рджреЗрд╡ рд╣реВрдБ, рдЬреЛ рдПрдХреАрдХреГрдд рдФрд░ AMD GPU рдХреЗ рдмрд┐рд▓реНрдЯ рдЗрди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рд╕рд░рд▓ рдирд┐рд░реНрднрд░рддрд╛ рд╡рд╛рд▓реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ Tensorflow рдХрд╛ рддреЗрдЬрд╝ рдкреНрд░рджрд░реНрд╢рди рдЪрд╛рд╣рддрд╛ рд╣реИ :)

рдореИрдВ рдЖрдкрдХреА рдХреИрд╕реЗ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ?

рдЯреНрд░реИрд╡рд┐рд╕ рд▓реЙрдЧ @hughperkins рдореЗрдВ OS X рдкрд░ рдЕрдВрддрд┐рдо рд╕рдВрдХрд▓рди рд╡рд┐рдлрд▓рддрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП - рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 'xcode-select --install' рдЪрд▓рд╛рдирд╛ рдПрдХ рд╣рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдЗрд╕реЗ /usr/include рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХреНрд╕рдХреЛрдб рдмреАрдЯрд╛ рдХреЛ рд░рд┐рд▓реАрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╕рдордп рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдереА рдФрд░ рдХреБрдЫ рд╕реА ++ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ XLA рдХрдВрдкрд╛рдЗрд▓рд░ (https://www.tensorflow.org/versions/master/resources/xla_prerelease.html) рдбреЗрдЯрд╛рдлреНрд▓реЛ рдЧреНрд░рд╛рдлрд╝ рд╕реЗ LLVM рдХреЛрдб рдЬрдирд░реЗрд╢рди рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рд╕реНрдкрд┐рд░-рд╡реА рддрдХ рдмрд╣реБрдд рдЖрд╕рд╛рди рдкрд╣реБрдВрдЪ рдФрд░ рдЗрд╕рд▓рд┐рдП рд╡рд▓реНрдХрди рдХреА рдЧрдгрдирд╛ рдПрдкреАрдЖрдИред рдХреЛрдб рдЬрдирд░реЗрд╢рди рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде, рдореИрдВ рдХрд▓реНрдкрдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХрд┐ Google рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдЪрд▓ рд░рд╣реЗ рдЕрдкреНрд░рдпреБрдХреНрдд рдПрдХреАрдХреГрдд рдЬреАрдкреАрдпреВ рдХреА рдЙрдЪреНрдЪ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рд╡рд▓реНрдХрди рд╕рдВрдЧрддрддрд╛ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

@ рд╣реНрдпреВрдЧрдкрд░рдХрд┐рдВрд╕

рдЬрд▓реНрджреА: рдЕрднреА рдореИрдВ рдХрд╕реНрдЯрдо рд╕реА ++/рдСрдмреНрдЬреЗрдХреНрдЯ-рд╕реА рдХреЛрдбрдмреЗрд╕ рдкрд░ рдЗрдВрд╕реЗрдкреНрд╢рди v3 рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдбреАрдХреЛрдбреЗрдб рд╡реАрдбрд┐рдпреЛ рдлреНрд░реЗрдо рдореЗрдВ рдЧреБрдЬрд░ рд░рд╣рд╛ рд╣реВрдВред рдореБрдЭреЗ рдирд┐рдореНрди рд╕реНрддрд░ рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЛ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдЯреАрдПрдл рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдЪреНрдЪ рд╕реНрддрд░: рд▓реЛрдб рдореЙрдбрд▓, рд░рди рд╕рддреНрд░, рд╕рд╛рдорд╛рди рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП 100% рд╕рдВрдЧрддрддрд╛ рдХрд╛ рдорддрд▓рдм рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреЗ рдореЗрдВ рдХреЛрдИ рдорджрдж рдирд╣реАрдВ рд╣реИред рдореВрд▓ рд░реВрдк рд╕реЗ TF /InceptionV3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ C++ рдЗрдореЗрдЬ рд░рд┐рдХрдЧреНрдирд┐рд╢рди рдореЗрд░рд╛ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рдерд╛ред

рдХреНрдпреВрдбрд╛-рдСрди-рд╕реАрдПрд▓ рдореИрдХ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ: рдореИрдВрдиреЗ рд░реЗрдкреЛ рдХреА рдЬрд╛рдВрдЪ рдХреА рд╣реИ рдФрд░ рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдбрд┐рдмрдЧ рдФрд░ рд░рди рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдкрд░рд┐рдгрд╛рдо рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ: рдореЗрд░реЗ рдкрд╛рд╕ рдбреНрдпреВрд▓ рдбреА 700, рдПрдирд╡реАрдбрд┐рдпрд╛ рдореИрдХ рд▓реИрдкрдЯреЙрдк рдФрд░ рдПрдПрдордбреА рдореИрдХ рдкреНрд░реЛрд╕ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИред рдбреЗрд╕реНрдХрдЯреЙрдк рд╕рд┐рд╕реНрдЯрдоред

рдЖрдкрдХреА рд╡рд┐рд╕реНрддреГрдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рд░реЗрдкреЛ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░реВрдВрдЧрд╛, рд╕рд╛рде рдЪрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рдФрд░ рдЕрдкрдиреА рддрд░рдл рд╕реЗ рд╣рд░ рд╕рдВрднрд╡ рдорджрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

рд╣реНрдпреВрдЧ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП http://chrec.cs.vt.edu/cu2cl/ рджреЗрдЦрдирд╛ рдЪрд╛рд╣реЗрдВ рдХрд┐ рдХреБрдЫ рдлрд╝рдВрдХреНрд╢рди рдХреИрд╕реЗ рдореИрдк рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдореЗрд░реА рдХрдВрдкрдиреА StreamComputing рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд┐рд▓реНрдб-рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдФрд░ рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди GPU рд╣реИрдВ, рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рдЕрдкрдиреЗ рдЧреНрд░рд╛рд╣рдХ-рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ рд░рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдЖрдкрдХреЗ рдЬреАрдердм рдХреЛ рд╣рдорд╛рд░реЗ рдЬреЗрдирдХреАрдВрд╕ рдореЗрдВ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реВрдВред

рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдХрд╛рдо рдкрд░ рд╡рд┐рд╖рдп рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдКрдВрдЧрд╛ред

рдореЗрд░реЗ рдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ Gensim рдФрд░ Keras/tensorflow рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдЯреЗрдХреНрд╕реНрдЯ/рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдорд┐рд▓рд╛рди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╣реИрдВред

рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдХреЛ рддреИрдпрд╛рд░ рд╣реВрдВ

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдПрдордбреА рдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкреАрд╕реА рд╣реИ
рдПрдПрдордбреА рдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рдПрдордмреАрдкреА
рдПрдХ рдЗрдВрдЯреЗрд▓ рдПрдХреАрдХреГрдд рдЬреАрдкреАрдпреВ рдХреЗ рд╕рд╛рде рдПрдХ рдПрдордмреА

рдЕрд░реЗ @hughperkins - рдореИрдВ рдЖрдЬ рд╢рд╛рдо рдХреЛ AMD R9 390 8GB рдкрд░ рдкрд░реАрдХреНрд╖рдг рд╕реЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдБред рдЕрдм рддрдХ рдореБрдЭреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЕрд▓рдЧ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рд╛ рд╣реИ; logistic_regression.py рдЯреНрд░реЗрдиреЗрдВ рдФрд░ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЖрддреА nan ред рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛! рдпрд╣ рдЕрдВрдд рдореЗрдВ segfaults рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рд╕реАрдПрд▓ рдХреЛрдб рдЧрд▓рддреА рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдореБрдЭреЗ рдЕрдкрдиреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдХрд╣рд╛рдВ рдЖрдЧреЗ рдмрдврд╝рд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд╣рд╛рдВ рд╡реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ?
рд╢рд╛рдпрдж рд╣рдо рдПрдХ рдорд╛рдирдХ "рдкрд░реАрдХреНрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ" рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдПрдХ рдорд╛рдирдХ рд╕реЗрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕реНрд╡рдпрдВрд╕реЗрд╡рдХ рдЖрдкрдХреЛ рдзрдХреНрдХрд╛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╛ рд╕реНрдерд╛рдиреАрдп рд╕реАрдЖрдИ рдпрд╛ рдЬреЛ рдХреБрдЫ рднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)?

py.test рдЙрддрдирд╛ рд╣реА рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬрд┐рддрдирд╛ рдХреЛрдИ; рдпрд╣ рдХреЗрд╡рд▓ pip рджреВрд░ рд╣реИ рдФрд░ рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ tensorflow рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред

рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬреЗрдВ рдЦреЛрдЬреА рд╣реИрдВ, рдФрд░ рд╡реЗ рдЕрдХреЗрд▓реЗ рдкрд╛рдпрдерди рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐:

  • рдПрдХ рд╣реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреЙрд▓ рдЬрд▓реНрджреА рдХреНрд░реИрд╢ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ "рд╣реИрдВрдЧ" рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ (рдХреЛрдИ рдЖрдЙрдЯрдкреБрдЯ рдирд╣реАрдВ, рдХреЛрдИ рдкреНрд░рдЧрддрд┐ рдирд╣реАрдВ, рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ Ctrl-C , рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ pkill -9 'd рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП), рдпрд╛ рджреЗрд░ рд╕реЗ рдХреНрд░реИрд╢ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рддреЛ рд╕рддреНрдпрд╛рдкрди рднрд╛рдЧ рдкрд░ рдпрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░реНрдг рд╣реЛрдиреЗ рдХреЗ рдмрд╛рджред рдХреНрд░реИрд╢ (segfaults) Xorg рдХреЛ рдиреАрдЪреЗ рд▓реЗ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • рдкрд░рд┐рдгрд╛рдо рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХрд╛рд░рдг рдХреЗ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ: рдореИрдВ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рд╕реЗрдЧрдлреЙрд▓реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдлрд┐рд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
  • рдХреЛрдб рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рд╣реИрдВрдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╕рдЪрдореБрдЪ рдХреНрд╖рдг рдкрд╣рд▓реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдереЗ, рдореИрдВрдиреЗ рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдмреИрдЪ рдХреЗ рднреАрддрд░ рдпрд╛ рдмрд╛рдж рдореЗрдВ рдПрдХ рд╣реИрдВрдЧ рдХрд┐рдпрд╛ рд╣реИ, рдХрдИ рд╕реМ рдмреИрдЪреЛрдВ рдХреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рджред

рддреЛ, рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ GPU рдкрдХреНрд╖ рдкрд░ рдЕрдирд╕реБрд▓рдЭреЗ рд╕рд╛рдорд╛рди рд╣реИрдВ, рдФрд░ рдЗрд╕реЗ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреЗ segfault рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдореБрдЭреЗ рдЕрднреА рддрдХ GPU рдореЙрдбрд▓ рдпрд╛ OpenCL рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреНрдпрд╛рджрд╛ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдпрд╣рд╛рдВ рдЬреНрдпрд╛рджрд╛ рдпреЛрдЧрджрд╛рди рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ред рд▓реЗрдХрд┐рди, рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЗрд╕рдХрд╛ рдареАрдХ рд╕реЗ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП GPU рдбрд┐рдмрдЧрд┐рдВрдЧ рдЖрдЙрдЯрдкреБрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╕рд╛рде рд╣реА, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдЬреАрдердм рд╕реЗ рдПрдПрдордбреА рдХреЗ рд╕рд╛рде рдереЗ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдПрдХ "рджреБрд╖реНрдЯ рдПрдЬреЗрдВрдЯ" рд╣реИрдВ рдЬреЛ рдЗрд╕ рдкреВрд░реЗ рд╕реАрдпреВрдбреАрдП-рдСрди-рд╕реАрдПрд▓ рдЪреАрдЬ рдХреЛ рдЕрдкрдиреЗ рд╕рдордп рдкрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдиреЗрддреГрддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рд▓ рд╕реЗ рдзрдиреНрдпрд╡рд╛рдж! рдХреНрдпрд╛ рдРрд╕рд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдореИрдВ рдФрд░ рдЕрдиреНрдп рд▓реЛрдЧ рдЖрдкрдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗ рд╕рдХреЗрдВ, рд╢рд╛рдпрдж рдЖрдкрдХреЛ GPU рдХреНрд░рд╛рдЙрдбрдлрдВрдбрд┐рдВрдЧ рдХрд░рдХреЗ? рдпрд╛ рдЖрдк рдПрдХ Patreon рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдореБрдЭреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдорд╛рд╕рд┐рдХ рдпреЛрдЧрджрд╛рди рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрди рдЕрдк рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИ?

AMD GPU рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рд╣рдо AMD рдХреЗ рднрд╛рдЧреАрджрд╛рд░ рд╣реИрдВред рджреЗрдЦрд┐рдП 8 рджрд┐рди рдкрд╣рд▓реЗ рдХрд╛ рдореЗрд░рд╛ рдореИрд╕реЗрдЬ, рдЬреЛ рд╢рд╛рдпрдж рдЖрдкрдиреЗ рдорд┐рд╕ рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛:

рдореЗрд░реА рдХрдВрдкрдиреА StreamComputing рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд┐рд▓реНрдб-рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдФрд░ рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди GPU рд╣реИрдВ, рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рдЕрдкрдиреЗ рдЧреНрд░рд╛рд╣рдХ-рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ рд░рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдЖрдкрдХреЗ рдЬреАрдердм рдХреЛ рд╣рдорд╛рд░реЗ рдЬреЗрдирдХреАрдВрд╕ рдореЗрдВ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реВрдВред

рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╕реАрдЖрдИ рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ?

рдХреЛрдИ рджрд┐рдХреНрдХрдд рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рд╢рд╛рдпрдж рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рд▓реЗрдЦрди-рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬреЗрдирдХрд┐рдВрд╕ рд▓реЙрдЧ-рдлрд╛рдЗрд▓ рдХреЛ рдмрд┐рд▓реНрдб-рд▓реЙрдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рд╕рд┐рд░реНрдл рдЖрдкрдХреЛ рд╕реНрдкреИрдо рднреЗрдЬрддрд╛ рд╣реВрдВ, рддрд╛рдХрд┐ рд╣рдо рдЪрд░реНрдЪрд╛ рдХрд░ рд╕рдХреЗрдВред

рдирдорд╕реНрддреЗ,

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╣реА рджреЗрдЦ рдЪреБрдХреЗ рд╣реИрдВ, SYCL рд╕рд╛рдорд╛рди рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ TensorFlow рдкрд░ рдзрдХреЗрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдо рдЕрднреА рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рд╡рд╣рд╛рдВ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдк рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдпрд╛ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдиреАрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рджреЗрдЦреЗрдВред

рдЖрдзрд╛рд░рднреВрдд рд╕рдВрд░рдЪрдирд╛
Google рдиреЗ рдХреГрдкрдпрд╛ рджреЛ рдорд╢реАрдиреЗрдВ рджрд╛рди рдХреА рд╣реИрдВ рдЬреЛ рд╕рдордп-рд╕рдордп рдкрд░ @benoitsteiner рдХреЗ TensorFlow (https://github.com/benoitsteiner/tensorflow-opencl) рдХреЗ рдХрд╛рдВрдЯреЗ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрд┐рдд рдХреА рдЧрдИ рд╣реИрдВред

рджреЛрдиреЛрдВ рдореЗрдВ AMD GPU рд╣реИ:

CL_DEVICE_NAME : рд╣рд╡рд╛рдИ
CL_DRIVER_VERSION: 1912.5 (рд╡реАрдПрдо)

рддрдерд╛

CL_DEVICE_NAME : рдлрд┐рдЬреА
CL_DRIVER_VERSION: 1912.5 (рд╡реАрдПрдо)

рдХреЛрдбрдкреНрд▓реЗ рдореЗрдВ рд╣рдо рдЕрдЧрд▓реЗ рд╕рд╛рд▓ рднреА рдорд╢реАрди рд╕рдорд░реНрдкрд┐рдд рдХрд░рдиреЗ рдХреА рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВред рдУрдкрдирд╕реАрдПрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рд╡рд┐рд╡рд┐рдзрддрд╛ рдХрд╡рд░реЗрдЬ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рд╣рдо рдЙрд╕ рдореЛрд░реНрдЪреЗ рдкрд░ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрджрд┐ рдХреЛрдИ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдЯреЗрд╕реНрдЯ рдмрд┐рд▓реНрдб рд╕рд░реНрд╡рд░ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рд╣рдо рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рд╣реИрдВ:
- рдЙрдмрдВрдЯреВ 14.04
- рдУрдкрдирд╕реАрдПрд▓ рдбреНрд░рд╛рдЗрд╡рд░ рдЬреЛ SPIR (рдЗрдВрдЯреЗрд▓ рд╕реАрдкреАрдпреВ / рдЬреАрдкреАрдпреВ рдпрд╛ рдПрдПрдордбреА рдЬреАрдкреАрдпреВ) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ

@VincentSC рд╢рд╛рдпрдж рдЖрдк рдЗрд╕рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдкрд░реАрдХреНрд╖рдг
рдлрд┐рдЬреА рдорд╢реАрди рдкрд░ ( https://ci.tensorflow.org/job/tensorflow-opencl/127/consoleFull ) рд╣рдо 164 рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╣рд╡рд╛рдИ рдорд╢реАрди рдкрд░ ( https://ci.tensorflow.org/job/tensorflow-opencl/129/consoleFull ) рд╣рдо 56 рдлреЗрд▓ рд╣реЛ рдЧрдП рд╣реИрдВред

рд╣рдо рдЕрд╕рдлрд▓ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдФрд░ рдлрд┐рдЬреА рдорд╢реАрди рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреА рдЙрддреНрдкрддреНрддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдИрдЬрд┐рди
рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рд╕реЗ рд╣рдо рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ TensorFlow рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: рд░реАрд╢реЗрдкрд┐рдВрдЧ, рд╕реНрд▓рд╛рдЗрд╕рд┐рдВрдЧ, рдмреЗрд╕рд┐рдХ рд░рд┐рдбрдХреНрд╢рди рдЖрджрд┐ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдо рд╕рдВрдХреБрдЪрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг https://docs.google.com/spreadsheets/d/1YbHn7dAFPPG_PgTtgCJlWhMGorUPYsF681TsZ4Y4LP0/edit#gid =0 рдХреЗ Eigen Tensor рдЯреИрдм рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ
рдПрдмреНрд╕, рдлреНрд▓реЛрд░, рдЖрдИрдПрд╕рдлрд┐рдирд┐рдЯ, рд▓реЙрдЧ, рдкреЙрд╡, рдореБрд▓, рдЖрджрд┐ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд░реАрд╢реЗрдк, рд╢реЗрдк, рдЖрдЗрдбреЗрдВрдЯрд┐рдЯреА, рдлрд┐рд▓ рдЖрджрд┐ рдЬреИрд╕реЗ рдЯреЗрдиреНрд╕рд░ рдореИрдирд┐рдкреБрд▓реЗрд╢рди рд╕рд╣рд┐рдд рдХрдИ рдЧреБрдгрд╛рдВрдХ-рд╡рд╛рд░ рд╕рдВрдЪрд╛рд▓рди рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рд╣реИрдВред
рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг https://docs.google.com/spreadsheets/d/1YbHn7dAFPPG_PgTtgCJlWhMGorUPYsF681TsZ4Y4LP0/edit#gid =1719702219 рдХреЗ TensorFlow рдХрд░реНрдиреЗрд▓ рдЯреИрдм рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

рд╕рдВрдЧрдарди
рдЙрдкрд░реЛрдХреНрдд рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ рдореЗрдВ рдХрдИ рдЯреИрдм рд╣реИрдВ рдЬреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ: рд╕рдордЧреНрд░ рдпреЛрдЬрдирд╛, рдИрдЬреЗрди рдЯреЗрдВрд╕рд░, рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рдХрд░реНрдиреЗрд▓, рдореЙрдбрд▓ред

рдпрджрд┐ рдЖрдк рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЕрдкрдирд╛ рдирд╛рдо рдЙрд╕ рдЖрдЗрдЯрдо рдХреЗ рдЖрдЧреЗ рд░рдЦреЗрдВ рдЬрд┐рд╕ рдкрд░ рдЖрдк рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдХреБрдЫ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рдЧрд╛рдпрдм рд╣реИред
рдзрдиреНрдпрд╡рд╛рдж,
рд▓реНрдпреВрдХ

рдХреНрдпрд╛ рдпрд╣ рд░реЛрдбрдореИрдк рд╕рдХреНрд░рд┐рдп рд╣реИ?

@lukeiwanski рд╣рд╛рдБ, рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВред [email protected] рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣рдорд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВ

рдпрд╣ рд╕рдм рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ macOS/OS X рдкрд░ OpenCL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рддрдХ рдХреЛрдИ рдареЛрд╕ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ? рдореИрдВрдиреЗ OpenCL рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде Tensorflow C++ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ (рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ SYCL 1.2 рдХреЗ рд▓рд┐рдП ComputeCpp рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдХрд┐рд╕реА рдиреЗ рдмрддрд╛рдпрд╛)ред

рдореИрдВрдиреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рджреЗрдЦрд╛ рдФрд░ рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ, рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдпрд╛ рдмрдирд╛рдиреЗ рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрд╛ред рдХреНрдпрд╛ рдпрд╣ рдпрд╣рд╛рдБ рд╣реИ https://www.codeplay.com/ ? рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдирд┐рд╢реНрдЪрд┐рдд рд╣реВрдВ рдХрд┐ рдХреИрд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдирд╛ рд╣реИ, рдзрдиреНрдпрд╡рд╛рдж ...

@dylib рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ macOS рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА ComputeCpp рдирд╣реАрдВ рд╣реИред рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ macOS рдХреЗ рд▓рд┐рдП OpenCL рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИред

рдЕрднреА рднреА рдЗрд╕реЗ AMD рдХрд╛рд░реНрдб рдФрд░ рдЙрддреНрдкреНрд░реЗрд░рдХ рдбреНрд░рд╛рдЗрд╡рд░ https://github.com/tensorflow/tensorflow/issues/6497 рдХреЗ рд╕рд╛рде Ubuntu 16.04 рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдХреНрдпрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ?

рдУрдкрдирд╕реАрдПрд▓ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдЯреАрдПрдл рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореБрдЭреЗ /usr/local/computecpp/bin/computecpp_info рдЖрдЙрдЯрдкреБрдЯ рджреЗрдЦрдирд╛ рдкрдбрд╝рд╛ред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИ

  Device is supported                     : NO - Unsupported vendor
  CL_DEVICE_NAME                          : Pitcairn
  CL_DEVICE_VENDOR                        : Advanced Micro Devices, Inc.

рдЕрдм GPU рдкрд░ TF рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП 2 рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:
рд╕реАрдорд┐рдд (рд╡рд┐рдХреНрд░реЗрддрд╛ рджреНрд╡рд╛рд░рд╛) рдЙрдкрдХрд░рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдорд╛рд▓рд┐рдХрд╛рдирд╛ CUDA
рд╕реАрдорд┐рдд (рдХрдореНрдкреНрдпреВрдЯреЗрдХрдкреАрдкреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛) рдЙрдкрдХрд░рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдорд╛рд▓рд┐рдХрд╛рдирд╛ рдХрдВрдкреНрдпреВрдЯ рдкрд░ рднреА рдЦрд░рд╛рдм рдХрд╛рдо рдХрд░рдирд╛
рдЕрднреА рднреА рдХреЛрдИ рдУрдкрдирд╕реАрдПрд▓ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред

@inferrna рд╕рдордЧреНрд░ TensorFlow рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдПрдХ OpenCL рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЦрдВрдб рдореЗрдВред рдЗрд╕реЗ рдЬрд▓реНрдж рд╣реА tensorflow.org рд╕рд╛рдЗрдЯ рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

@benoitsteiner рдУрдкрдирдХреНрд▓ рдХрдирд╡рд▓реНрд╢рди рд╕рдкреЛрд░реНрдЯ рдкрд░ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ? рдХреНрдпрд╛ рдЖрдк рд╕реАрдзреЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рд╡рд╛рд▓реА рдЧреБрдард▓реА рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ? рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЧреБрдгрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

рдХреЛрдИ рдИрдЯреАрдП?

CUDA рдХреЛрдб рдХреЛ рдкреЛрд░реНрдЯ рдЕрдЬреНрдЮреЗрдпрд╡рд╛рджреА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП HIP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ? https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/blob/master/docs/markdown/hip_porting_guide.md

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдПрдордбреА рдЙрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ: https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/issues/45#issuecomment -269827686

рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕рд╛ рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреИрдХреЗрдЬ Radeon GPU рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред

https://github.com/RadeonOpenCompute/ROCm

@bhack https://github.com/tensorflow/tensorflow/issues/6449#issuecomment -269245727 рд╕реЗ

@lukeiwanski рдХреНрдпрд╛ XLA рдЖрдкрдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреЛ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛?

XLA рдФрд░ SYCL рд╕рдорд╛рдзрд╛рди рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░рдХ рд╣реИрдВ: SYCL рдХреЛ рдкреВрд░реНрдг рдкреНрд░реЛрдЧреНрд░рд╛рдордпреЛрдЧреНрдпрддрд╛ рдФрд░ рдЕрдиреБрдХреВрд▓рди рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред XLA рд░реЗрдЦрд╛рдВрдХрди рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреИрдЯрд░реНрди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред

рдПрдХреНрд╕рдПрд▓рдП рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реА рд╕рдордЭ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдПрд▓рдПрд▓рд╡реАрдПрдо рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдХреБрдЫ рдореМрдЬреВрджрд╛ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рдЧреНрд░рд╛рдл рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд▓рд┐рдП рдХрдВрдкрд╛рдЗрд▓рд░ рдореЗрдВ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдкрд╛рд╕ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
SYCL рджреГрд╖реНрдЯрд┐рдХреЛрдг рдПрдХрдорд╛рддреНрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ CUDA рд╕реНрддрд░ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ - рдЬреЛ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЪрд╛рд╣рд┐рдПред

SYCL рдХреЗ рд╕рд╛рде рд╣рдо рд╕рднреА TensorFlow рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдФрд░ рдирдП рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХрд╛ рд▓рдХреНрд╖реНрдп рд░рдЦрддреЗ рд╣реИрдВред

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ SYCL рдЖрдкрдХреЛ рдирдП рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рд╕рдВрдЪрд╛рд▓рди рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рд▓рд┐рдЦрдиреЗ рджреЗрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ XLA рдкреВрд░реЗ рдЧреНрд░рд╛рдлрд╝ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдпрд╣ рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рд╕рднреА рдСрдкреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ XLA рдмреИрдХрдПрдВрдб LLVM IR рдХреЛ https://github.com/KhronosGroup/SPIRV-LLVM рдХреЗ рд╕рд╛рде SPIR-V рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

рдореБрдЭреЗ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрднрд╡ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

@lukeiwanski рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рджреЗрдЦ рд░рд╣рд╛ рдерд╛ https://www.tensorflow.org/versions/master/experimental/xla/developing_new_backend

@ k-hashimoto: рд╣рдо рдпрд╣рд╛рдВ TensorFlow рдХреЛ OpenCL рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ Khronos Group рдХрд╛ рдПрдХ рдорд╛рдирдХ рд╣реИ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдзрд┐рдХ OpenCL SYCL, рдЬреЛ рдХрд┐ Khronos Group рдХрд╛ рдкреЛрд╕реНрдЯ-рдореЙрдбрд░реНрди C++ рд╕рд┐рдВрдЧрд▓ рд╕реЛрд░реНрд╕ рдорд╛рдирдХ рд╣реИред
ROCm рдЕрднреА рддрдХ-рдПрдХ-рдЧреИрд░-рдорд╛рдирдХ-рд╕рдорд╛рдзрд╛рди-рд╕реЗ-рдХреБрдЫ-рд╡рд┐рдХреНрд░реЗрддрд╛ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рдорд╛рд▓рд┐рдХрд╛рдирд╛ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА TensorFlow рдХрд╛ рдПрдХ CUDA рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред :-)

рд╕рд╣рдордд: рдУрдкрдирд╕реАрдПрд▓ рдкрд░ рдмрд╛рддрдЪреАрдд/рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд░рд╣реЗрдВ, рдФрд░ рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рдХреЛ рдЙрд╕ рдЦреБрд▓реЗ рдорд╛рдирдХ рдХреЗ рдКрдкрд░ рдЕрдкрдиреЗ рдЬреЛ рдХреБрдЫ рднреА рд▓рд╛рдЧреВ рдХрд░рдиреЗ рджреЗрдВред

17 рдЬрдирд╡рд░реА 2017 рдХреЛ 10:01:32 GMT+00:00 рдкрд░, рд░реЛрдирди рдХреЗрд░реАрд▓ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

@ k-hashimoto: рд╣рдо рдпрд╣рд╛рдВ TensorFlow рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ
OpenCL, Khronos Group рдХрд╛ рдПрдХ рдорд╛рдирдХ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдзрд┐рдХ OpenCL SYCL,
рдЦреНрд░реЛрдиреЛрд╕ рдЧреНрд░реБрдк рд╕реЗ рдкреЛрд╕реНрдЯ-рдореЙрдбрд░реНрди рд╕реА ++ рд╕рд┐рдВрдЧрд▓ рд╕реЛрд░реНрд╕ рдорд╛рдирдХред
ROCm рдЕрднреА рддрдХ-рдПрдХ-рдЧреИрд░-рдорд╛рдирдХ-рд╕рдорд╛рдзрд╛рди-рд╕реЗ-рдХреБрдЫ-рд╡рд┐рдХреНрд░реЗрддрд╛ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рдорд╛рд▓рд┐рдХрд╛рдирд╛ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ CUDA рд╣реИ
TensorFlow рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред :-)

--
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ:
https://github.com/tensorflow/tensorflow/issues/22#issuecomment -273076892

--
K-9 рдореЗрд▓ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ Android рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рднреЗрдЬрд╛ рдЧрдпрд╛ред рдореЗрд░реЗ рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЛ рдорд╛рдлрд╝ рдХрд░реЛред

:+1:

рдореИрдВ

:+1:

рдпрд╣ рд╕рдВрджреЗрд╢ рдореЗрд▓ рдбрд┐рд▓рд┐рд╡рд░реА рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рддрдГ рд╣реА рд░рдЪрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬрд╛ рдЧрдпрд╛ рдПрдХ рд╕рдВрджреЗрд╢ рдЗрд╕рдХреЗ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдХреЛ рдбрд┐рд▓реАрд╡рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрд╛
рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ред рдпрд╣ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рддреНрд░реБрдЯрд┐ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрддрд╛ (рдкрддреЗ) рдЖрд╕реНрдердЧрд┐рдд:

[email protected]
рдбреЛрдореЗрди biomassiv.es рдЕрдзрд┐рдХрддрдо рдИрдореЗрд▓ рдкреНрд░рддрд┐ рдШрдВрдЯреЗ (111/100 (111%)) рдХреЛ рдкрд╛рд░ рдХрд░ рдЧрдпрд╛ рд╣реИред рд╕рдВрджреЗрд╢ рдмрд╛рдж рдореЗрдВ рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛

------- рдпрд╣ рд╕рдВрджреЗрд╢ рдХреА рдПрдХ рдкреНрд░рддрд┐ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рд╢реАрд░реНрд╖рд▓реЗрдЦ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред ------
рдкреНрд░рд╛рдкреНрдд: github-smtp2-ext6.iad.github.net рд╕реЗ ([192.30.252.197]:48606 helo=github-smtp2b-ext-cp1-prd.iad.github.net)
esmtps рдХреЗ рд╕рд╛рде chi-server32.websitehostserver.net рджреНрд╡рд╛рд░рд╛ (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
(рдПрдХреНрдЬрд┐рдо 4.87)
( рд▓рд┐рдлрд╛рдлрд╛[email protected] рд╕реЗ)
рдЖрдИрдбреА 1cWmiQ-0032as-W9
[email protected] рдХреЗ рд▓рд┐рдП; рдЧреБрд░реБ, 26 рдЬрдирд╡рд░реА 2017 10:16:03 -0600
рджрд┐рдирд╛рдВрдХ: рдмреБрдз, 25 рдЬрдирд╡рд░реА 2017 04:09:21 -0800
DKIM-рд╣рд╕реНрддрд╛рдХреНрд╖рд░: v=1; рдП = рдЖрд░рдПрд╕рдП-sha256; рд╕реА = рдЖрд░рд╛рдо рд╕реЗ / рдЖрд░рд╛рдо рд╕реЗ; рдбреА = рдЬреАрдердм рдбреЙрдЯ рдХреЙрдо;
рдПрд╕ = рдкреАрдПрдл2014; рдЯреА=1485346161;
bh=N1Pjga2Q9PtEE8ncEMXBtSJzd3kd6HAkJRnj6H2dDEg=;
рдПрдЪ = рд╕реЗ: рдЙрддреНрддрд░-рдЯреВ : рдЯреВ: рд╕реАрд╕реА: рдЗрди- рд░рд┐рдкреНрд▓рд╛рдИ-рдЯреВ: рдЖрд░ рд╕рдВрджрд░реНрдн: рд╡рд┐рд╖рдп : рд╕реВрдЪреА-рдЖрдИрдбреА:
рд╕реВрдЪреА- рд╕рдВрдЧреНрд░рд╣: рд╕реВрдЪреА-рдкреЛрд╕реНрдЯ : рд╕реВрдЪреА-рдЕрди рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ: рд╕реЗ;
b=e5r+VKm/UtpLYj0OCnfEPSYl6a7xCOd9bN+jS3gify2mRv/g4kofW7ZrEeDyeJT+
GvddVV/w5htZFUbHy9+92pYUHGEYEn2XrmFqc6ZFVoPqBsPW5Cxk31O3Kvi1cwuSPI
g8J4X/qvl1DT+yKrh1es7CeXkr23c8mFNgWkG5qk=
рд╕реЗ: рдорд┐рдЧреБрдПрд▓ ├Бngel рд╕реВрдЪрдирд╛рдПрдВ @github.com
рдЙрддреНрддрд░-рдкреНрд░рддрд┐: tensorflow/tensorflow [email protected]
рдкреНрд░рддрд┐: tensorflow/tensorflow [email protected]
рдкреНрд░рддрд┐рд▓рд┐рдкрд┐: [email protected] рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдХрд┐рдпрд╛ рдЧрдпрд╛
рд╕рдВрджреЗрд╢-рдЖрдИрдбреА:
рдкреНрд░рддрд┐рдЙрддреНрддрд░ рдореЗрдВ:
рд╕рдиреНрджрд░реНрдн:
рд╡рд┐рд╖рдп: рдкреБрди: [рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ/рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ] рдУрдкрдирд╕реАрдПрд▓ рд╕рдорд░реНрдерди (#22)
рдорд╛рдЗрдо-рд╕рдВрд╕реНрдХрд░рдг: 1.0
рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░: рдмрд╣реБрдЦрдгреНрдбреАрдп/рд╡реИрдХрд▓реНрдкрд┐рдХ;
рд╕реАрдорд╛="--==_mimepart_5888957158d12_78b73ff902fe113c148134";
рд╡рд░реНрдгрд╕реЗрдЯ = UTF-8
рд╕рд╛рдордЧреНрд░реА-рд╕реНрдерд╛рдирд╛рдВрддрд░рдг-рдПрдиреНрдХреЛрдбрд┐рдВрдЧ: 7bit
рд╡рд░реАрдпрддрд╛: рд╕реВрдЪреА
X-GitHub-рдкреНрд░реЗрд╖рдХ: migpradel
X-GitHub-рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛: рдмрд╛рдпреЛрдореИрд╕рд┐рд╡реНрд╕
рдПрдХреНрд╕-рдЧрд┐рдЯрд╣рдм-рдХрд╛рд░рдг: рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдХрд┐рдпрд╛ рдЧрдпрд╛
рд╕реВрдЪреА-рдЖрдИрдбреА: рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ/рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ
рд╕реВрдЪреА-рд╕рдВрдЧреНрд░рд╣: https://github.com/tensorflow/tensorflow
рд╕реВрдЪреА-рдкреЛрд╕реНрдЯ: [email protected]
рд╕реВрдЪреА-рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ:,
https://github.com/notifications/unsubscribe/AELU4lfFKxIqjh4jaQkUHuRKD7zj_eKCks5rVztxgaJpZM4Gex3i
рдПрдХреНрд╕-рдСрдЯреЛ-рд░рд┐рд╕реНрдкрд╛рдВрд╕-рд╕рдкреНрд░реЗрд╕: тАЛтАЛрд╕рднреА
X-GitHub-рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛-рдкрддрд╛: [email protected]

----==_mimepart_5888957158d12_78b73ff902fe113c148134
рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░: рдЯреЗрдХреНрд╕реНрдЯ/рд╕рд╛рджрд╛;
рд╡рд░реНрдгрд╕реЗрдЯ = UTF-8
рд╕рд╛рдордЧреНрд░реА-рд╕реНрдерд╛рдирд╛рдВрддрд░рдг-рдПрдиреНрдХреЛрдбрд┐рдВрдЧ: 7bit

image

--
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ:
https://github.com/tensorflow/tensorflow/issues/22#issuecomment -275092277
----==_mimepart_5888957158d12_78b73ff902fe113c148134
рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░: рдЯреЗрдХреНрд╕реНрдЯ/рдПрдЪрдЯреАрдПрдордПрд▓;
рд╡рд░реНрдгрд╕реЗрдЯ = UTF-8
рд╕рд╛рдордЧреНрд░реА-рд╕реНрдерд╛рдирд╛рдВрддрд░рдг-рдПрдиреНрдХреЛрдбрд┐рдВрдЧ: 7bit

image

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ , рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ ред


----==_mimepart_5888957158d12_78b73ff902fe113c148134--

рдирдП рдпрд╣рд╛рдБред рдкреВрдЫрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдореЗрдВ рдУрдкрдирд╕реАрдПрд▓ рд╕рдорд░реНрдерди рд╣реЛрдЧрд╛, рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ FPGA рдкрд░ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реЛрдЧрд╛?
рд╢реБрдХреНрд░рд┐рдпрд╛

@atinzad : рд╣рд╛рдБ рдпрджрд┐ OpenCL рдпрд╛ SYCL рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рд╕реНрд░реЛрдд рдХреЛрдб FPGA рд╡рд╛рддрд╛рд╡рд░рдг рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИред рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ TensorFlow рд╢рд╛рдпрдж рд╡рд┐рднрд┐рдиреНрди рдорд╛рдзреНрдпрдореЛрдВ рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдврд╛рдВрдЪрд╛ рд╣реИ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдХреБрдЫ рд╣рд┐рд╕реНрд╕рд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╣реАрдВ FPGA рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реЛ ...

рд╣реЗ рднрдЧрд╡рд╛рдиред https://www.youtube.com/watch?v=LqLyrl-agOw

рдордзреНрдпрд╛рд╡рдзрд┐ рджреГрд╖реНрдЯрд┐ рдореЗрдВ рдкреАрдЯреАрдПрдХреНрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдпрд╛рд╕ рдФрд░ рдПрд╕рдкреАрдЖрдИрдЖрд░-рд╡реА рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХреНрд╕рдПрд▓рдП рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреНрдпрд╛ рд╣реИрдВ?

рдХреНрдпрд╛ рдмрдврд╝рд┐рдпрд╛ рд╕рд╡рд╛рд▓ рд╣реИред рд╢рд╛рдпрдж - рд╢рд╛рдорд┐рд▓ рд▓реЛрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛? рдЬрд╛рдирдирд╛ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛!

16 рдлрд░рд╡рд░реА 2017 рдХреЛ рджреЛрдкрд╣рд░ 1:35 рдмрдЬреЗ bhack [email protected] рдиреЗ рд▓рд┐рдЦрд╛:

рдордзреНрдпрд╛рд╡рдзрд┐ рджреГрд╖реНрдЯрд┐ рдореЗрдВ рдкреАрдЯреАрдПрдХреНрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдпрд╛рд╕ рдФрд░ рдПрд╕рдкреАрдЖрдИрдЖрд░-рд╡реА рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХреНрд╕рдПрд▓рдП рдХреЗ рдмреАрдЪ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИрдВ?

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ, рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВред

рдордзреНрдпрд╛рд╡рдзрд┐ рджреГрд╖реНрдЯрд┐ рдореЗрдВ рдкреАрдЯреАрдПрдХреНрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдпрд╛рд╕ рдФрд░ рдПрд╕рдкреАрдЖрдИрдЖрд░-рд╡реА рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХреНрд╕рдПрд▓рдП рдХреЗ рдмреАрдЪ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИрдВ?

@bhack рдХрд▓ рдХреЗ TensorFlow рджреЗрд╡ рд╢рд┐рдЦрд░ рд╕рдореНрдореЗрд▓рди рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рдЪрд░реНрдЪрд╛ рд╣реЛрдЧреА

рдХреНрдпрд╛ рдЖрдк рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╕рдВрд╕рд╛рдзрдиреЛрдВ/рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫрддреЗ рд╣реИрдВ?

рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдУрдкрдирд╕реАрдПрд▓/рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рд╕реА++ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░/рдУрдкрдирд╕реАрдПрд▓ рд╕реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рддреЗрдЬреА рд╕реЗ рд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХреНрд╕рдПрд▓рдП рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░/рдПрд▓рдПрд▓рд╡реАрдПрдо рдЕрдиреБрднрд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдПрдХреНрд╕рдПрд▓рдП рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ Google рдХреА рдЖрдВрддрд░рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ, рдЙрдирдХреЗ рдкрд╛рд╕ рдЗрд╕рд╕реЗ рдЬреБрдбрд╝реЗ рдЕрдзрд┐рдХ рд╕рдВрд╕рд╛рдзрди рд╣реИрдВред рд▓реЗрдХрд┐рди, рджреВрд╕рд░реА рддрд░рдл рдЙрдирдХрд╛ рдХрд╛рдо рднреА рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ.. рдХрдВрдкрд╛рдЗрд▓рд░ рд▓рд┐рдЦрдирд╛ рдХреЛрдИ рдЖрд╕рд╛рди рдХрд╛рдо рдирд╣реАрдВ рд╣реИред

рдЕрдиреНрдпрдерд╛, рдпрджрд┐ рдЖрдк рдореЙрдбрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВ:

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ https://github.com/tensorflow/tensorflow/issues/22#issuecomment -272908870 рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рд╣рдо рджреЛрдиреЛрдВ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рдкреВрд░рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рджреЛрдиреЛрдВ рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВред рдореИрдВ рдЕрднреА рднреА рдЙрд╕ рдмрдпрд╛рди рдХреЗ рд╕рд╛рде рдЦрдбрд╝рд╛ рд╣реВрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП @tatatodd рдиреЗ рдЕрдкрдиреА рдкреНрд░рд╕реНрддреБрддрд┐ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдСрдкреНрд╕ рдореЗрдВ рдХрднреА рднреА рд▓рдХреНрд╖реНрдп рдХреЗ рд░реВрдк рдореЗрдВ XLA рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рдХрдореА рдХреЛ рдкреВрд░рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдирдП рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╣реИрдВред рдореИрдВ рдЗрд╕ рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рдореЛрдмрд╛рдЗрд▓ рдФрд░ рдПрдореНрдмреЗрдбреЗрдб рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдирдП рдЪрд┐рдкреНрд╕ GPU рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рд░ рдкреЙрдк рдЖрдЙрдЯ рд╣реЛрддреЗ рд╣реИрдВ (рд╕рд┐рджреНрдзрд╛рдВрдд рд╕рдорд╛рди рд╣реИ)ред

рдпрджрд┐ рд╕реЗрдореАрдХрдВрдбрдХреНрдЯрд░ SYCL / OpenCL рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ рддреЛ рдЖрдкрдХреЛ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ TF рд╕рдкреЛрд░реНрдЯ рдорд┐рд▓рддрд╛ рд╣реИ (рдХреБрдЫ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдЯреНрд╡рд┐рдХреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ)ред

рдпрджрд┐ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдЖрдХрд░реНрд╖рдХ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдПрд▓рдПрд▓рд╡реАрдПрдо рдмреИрдХрдПрдВрдб рдирд╣реАрдВ рд╣реИ, рдлрд┐рд░ рднреА рдПрдХреНрд╕рдПрд▓рдП рдХреЛ рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ (рдпрд╣ рдмрд╣реБрдд рдмрд╛рд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА)ред рдЕрдзрд┐рдХ рдмрд╛рд░ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдереЛрдбрд╝рд╛ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдирдП рдЕрдиреБрдХреВрд▓рди рдкрд╛рд╕ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдпрд╛ рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрд░реНрдиреЗрд▓ рдХреЛрдб рдХреЛ рдЯреНрд╡реАрдХ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред

рдореИрдВрдиреЗ рдПрдХреНрд╕рдПрд▓рдП рдХреЛ рдмрд╣реБрдд рдЧрд╣рд░рд╛рдИ рд╕реЗ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХреНрд╕рдПрд▓рдП рдХреЛ рдкреАрдЯреАрдПрдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╕реАрдпреВрдбреАрдП рдПрдкреАрдЖрдИ рдореЗрдВ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрд╕рдкреАрдЖрдИрдЖрд░-рд╡реА рдХрд░реНрдиреЗрд▓ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдУрдкрдирд╕реАрдПрд▓ рдпрд╛ рд╡рд▓реНрдХрди рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ StreamExecutor рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ - рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдврд╛рдВрдЪрд╛ - рд╢рд╛рдпрдж рдХрд╛рдлреА рдмрдбрд╝рд╛ рдкреНрд░рдпрд╛рд╕ред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╣рдо рдмрд╣реБрдд рд╣реА рдЦрдВрдбрд┐рдд/рд╡рд┐рдХреГрдд рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рдПрдХ рдПрдХреАрдХреГрдд/рд╕реНрдерд┐рд░ рдордВрдЪ рдкреНрд░рджрд╛рди рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╕реЗрдореАрдХрдВрдбрдХреНрдЯрд░ рдХрдВрдкрдирд┐рдпрд╛рдВ рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреЛрдиреЛрдВ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдмрдХрд┐ XLA рдХреЛ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдирд╛ рд╣реЛрдЧрд╛ред

@benoitsteiner рдпрд╛ @drpngx XLA рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рджреЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдмрд╛рддрдЪреАрдд рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реА рдзрд╛рд░рдгрд╛рдУрдВ/рдирд┐рд╖реНрдХрд░реНрд╖реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдУрд╣, рд╕рд╛рде рд╣реА рдореИрдВрдиреЗ рд╕рдВрдЪрд╛рд░ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд▓реИрдХ рдЪреИрдирд▓ рдмрдирд╛рдпрд╛ рд╣реИ https://tensorflowopencl.slack.com/shared_invite/MTQzNDQ0NzgzNzAyLTE0ODcyOTE1NjctMDZhM2RkODRlYg

рдИрдж:
рд╕реНрд▓реИрдХ рд▓рд┐рдВрдХ рдЕрдм рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИред рдЕрдЧрд░ рдЖрдк рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдкрд┐рдВрдЧ рдХрд░реЗрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╣реА рд╣реИ рдФрд░ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдпрд╣ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧрд╛ рдХрд┐ рдЕрд░реНрдзрдЪрд╛рд▓рдХ рдЙрддреНрдкрд╛рджрдХ рдХрд┐рд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдЙрдиреНрдореБрдЦ рд╣реЛрдВрдЧреЗред
"рдпреЗ рдмреИрдХрдПрдВрдб рдПрдХ рдХреБрд╢рд▓ рддрд░реАрдХреЗ рд╕реЗ рдПрдХреНрд╕рдПрд▓рдП рдПрдЪрдПрд▓рдУ рдЧрдгрдирд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдПрд▓рдПрд▓рд╡реАрдПрдо рдЖрдИрдЖрд░ рдЙрддреНрд╕рд░реНрдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдПрд▓рдПрд▓рд╡реАрдПрдо рдЖрдИрдЖрд░ рд╕реЗ рдореВрд▓ рдХреЛрдб рдЙрддреНрд╕рд░реНрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓рдПрд▓рд╡реАрдПрдо рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдХрд░рддреЗ рд╣реИрдВред" рддреЛ LLVM IR рдХреЛ SPIR-V рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред рд▓реЗрдХрд┐рди Opencl SPIRV рдмреЛрд▓реА рдпрд╣ рд╡рд▓реНрдХрди рд╕реЗ рдЕрд▓рдЧ рд╣реИ ред Streamexecutor рдХреЛ LLVM рд╕рдорд╛рдирд╛рдВрддрд░-рд▓рд┐рдм рдореЗрдВ рдзрдХреЗрд▓рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдореВрд▓ @henline рд╡рд┐рд╡рд░рдг рдореЗрдВ рдореВрд▓ рдпреЛрдЬрдирд╛ opencl рдХреЛ рдХрд╡рд░ рдХрд░рддреА рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИред

/ рд╕реАрд╕реА @ dneto0

http://phoronix.com/scan.php?page=news_item&px=OpenCL-2.0-NVIDIA-Preps
Nvidia рдХреЛ рдЬрд▓реНрдж рд╣реА Linux рдФрд░ Windows рджреЛрдиреЛрдВ рдкрд░ opencl 2.0 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣ YUGE рд╣реИ!

рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рд╣рд╛рдЬ рд╕реЗ рдпрд╣ CUDA рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдзреАрдорд╛ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред

рдпрд╣ рднреА рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдиреЛрд╡реНрдпреВ рд▓реЛрдЧ рдПрд╕рдкреАрдЖрдИрдЖрд░-рд╡реА рдХреЗ рд╕рд╛рде рдУрдкрдирдХреНрд▓ рдкрд░ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╕реНрдерд┐рддрд┐ рдереЛрдбрд╝реА рдкреБрд░рд╛рдиреА рд╣реИ рд▓реЗрдХрд┐рди рдирдИ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛рдПрдВ рд╣реИрдВред

рдУрдкрдирдХреНрд▓ рдХреБрдбрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдзреАрдорд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕рд┐рд░реНрдл рдПрдирд╡реАрдбрд┐рдпрд╛ рд╣реИ рдЬреЛ рдЕрдкрдиреЗ рдУрдкрдирдХреНрд▓ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдЕрдкрдВрдЧ рдХрд░рдХреЗ рдмрд╛рдЬрд╛рд░ рдХреЛ рд▓реЙрдХ рдХрд░ рд░рд╣рд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдПрдирд╡реАрдбрд┐рдпрд╛ рдЕрдЧреНрд░рдгреА рдЕрдВрдд рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЙрдирдХреЗ рдЕрдиреИрддрд┐рдХ рд╡рд┐рд░реЛрдзреА рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛рддреНрдордХ рдЕрднреНрдпрд╛рд╕ рднреА рдЙрдиреНрд╣реЗрдВ рдирд╣реАрдВ рдмрдЪрд╛рдПрдВрдЧреЗред рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдХреВрдбрд╛ рдСрдЯреЛрдЯреНрд░рд╛рдВрд╕рд▓реЗрдЯрд░ рдПрдЪрдЖрдИрдкреА (https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP) рдХреЗ рд╕рд╛рде
рд╡рд┐рдВрдбреЛрдЬрд╝ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЖрдЧрд╛рдореА рд╡реЗрдЧрд╛ рдПрдкрд╕ рдФрд░ рдбреАрдЬреАрдкреАрдпреВрдПрд╕ рдФрд░ рдПрдЖрд░рдПрдо, рдПрдирд╡реАрдбрд┐рдпрд╛ рдХрд╛ рдХреЛрдИ рднрд╡рд┐рд╖реНрдп рдирд╣реАрдВ рд╣реИ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЙрджреНрдпреЛрдЧ рдХреЛ рдУрдкрдирд╕реАрдПрд▓/рдПрд╕рдЖрдИрд╕реАрдПрд▓/рдПрдЪрдЖрдИрдкреА/рдПрдЪрдПрд╕рдП рдХреЛ рдмрд╣реБрдд рдЬрд▓реНрдж рдФрд░ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╣реИрд▓реЛ, рдХрд┐ рдореИрдВ рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рдирдП рдПрдПрдордбреА рд░рд╛рдбреЗрди рдЗрдВрд╕реНрдЯрд┐рдВрдХреНрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛? (http://instinct.radeon.com/en-us/)

рдирдорд╕реНрддреЗ, рдХреНрдпрд╛ FPGAs рдХреЗ рд▓рд┐рдП TF-OpenCL рд╕рдорд░реНрдерди рдореЗрдВ рдХреЛрдИ рдкреНрд░рдЧрддрд┐ рд╣реБрдИ рд╣реИ?

@alexivia https://github.com/iteong/tensorflow/blob/master/tensorflow/stream_executor/platform.h#L30 рдХреБрдЫ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ Streamexecutor рд░реЛрдбрдореИрдк рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред

@bhack рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж
рддреЛ, рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдИ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИ, рдпрд╛ рд╕рд╣реА рд╕рдВрдЪрд╛рд▓рди рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИ?
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ рдЗрд╕ рдзрд╛рдЧреЗ рдкрд░ рдЬреЛ рдкрдврд╝рд╛ рд╣реИ, рдЙрд╕рд╕реЗ рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдПрдПрдордбреА рдЬреАрдкреАрдпреВ рдкрд░ рд╣реЛрддреЗ рд╣реИрдВ ... рдХреНрдпрд╛ рдХреЛрдИ рдЗрд╕ рдУрдкрдирд╕реАрдПрд▓ рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдПрдирд╡реАрдбрд┐рдпрд╛ рдЬреАрдкреАрдпреВ рдкрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдиреЗрдЯ рд╣реИ?

Streamexecutor рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ LLVM рд╕рдорд╛рдирд╛рдВрддрд░-рд▓рд┐рдмрд╛рд╕ рдореЗрдВ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЕрдм accxel

рдХреНрдпрд╛ рдХреЛрдИ Google рд╕рджрд╕реНрдп рд╕реНрдЯреНрд░реАрдо рдПрдХреНрдЬрд╝реАрдХреНрдпреВрдЯрд░ рдФрд░ https://reviews.llvm.org/rL285111 рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдФрд░ рд░реЛрдбрдореИрдк рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

рд╕реАрд╕реА @ рдЭреЗрдВрдЧ-xq

рд╕реНрдЯреНрд░реАрдо рдПрдХреНрд╕рдХреНрдпреВрдЯрд░ рдФрд░ https://reviews.llvm.org/rL285111 рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП @henline рдФрд░ @jlebar рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рд╣реИрдВ ?

Axcell рдФрд░ StreamExecutor рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдореМрдЬреВрджрд╛ рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВ рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП TensorFlow рд▓реЛрдЧреЛрдВ рдкрд░ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рд╡реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред

рддреЛ StreamExecutor рдФрд░ StreamExecutor llvm рднреА рд╡рд╣реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рдереЗ?

рд╕рд╣реА рд╣реИ, рд╡реЗ рдПрдХ рд╣реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИрдВред

рдЧреБрд░реБ, 16 рдорд╛рд░реНрдЪ, 2017 рдХреЛ рдкреВрд░реНрд╡рд╛рд╣реНрди 11:06 рдмрдЬреЗ, bhack [email protected] рдиреЗ рд▓рд┐рдЦрд╛:

рддреЛ StreamExecutor рдФрд░ StreamExecutor llvm рднреА рд╡рд╣реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рдереЗ?

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/tensorflow/tensorflow/issues/22#issuecomment-287143104 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AAJMh_4ODoCVglGRbFBs8UmtSEm6D47_ks5rmXoUgaJpZM4Gex3i
.

@jlebar рдЕрдЧрд▓реА рдмрд╛рд░ рдирд╛рдордХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд░рдЪрдирд╛рддреНрдордХ рдЗрдХрд╛рдИ;) рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рд░рдЪрдирд╛рддреНрдордХрддрд╛ рдкреНрд░реЗрд░рдгрд╛ рдХреА рдХрдореА рдирд╣реАрдВ рдереА рдмрд▓реНрдХрд┐ рдПрдХ рдЖрдВрддрд░рд┐рдХ рдЙрдкрдХрд░рдг рдХрд╛ рдПрдХ рдЕрдкрд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкреНрд░рдпрд╛рд╕ рдерд╛ рдЬреЛ рдЯреАрдПрдл рдореЗрдВ рдмрдирд╛рдП рдЧрдП рдПрдХ рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рдЧрдпрд╛ рдерд╛ ..

@bhack , рд╣рдордиреЗ рдирд╛рдо рдмрджрд▓ рджрд┐рдпрд╛, рдареАрдХ рддрдм рдЬрдм рд╣рдореЗрдВ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рд╣рдордиреЗ рдХрд┐рдпрд╛ рдерд╛
рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ StreamExecutor рдХреЛ LLVM рдереЛрдХ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдпрд╣ рд╣реИ
рдЕрдм "Acxxel" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдореБрдЭреЗ рднреНрд░рдо рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ рдФрд░ рдореИрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ.. рдпрд╣ рдПрдХ рдерд╛
рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕реАрдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ред

рдЧреБрд░реБ, 16 рдорд╛рд░реНрдЪ, 2017 рдХреЛ рдкреВрд░реНрд╡рд╛рд╣реНрди 11:24 рдмрдЬреЗ, bhack [email protected] рдиреЗ рд▓рд┐рдЦрд╛:

@jlebar https://github.com/jlebar рдЕрдЧрд▓реА рдмрд╛рд░ рдирд╛рдордХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд░рдЪрдирд╛рддреНрдордХ рдЗрдХрд╛рдИ
;) рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рд░рдЪрдирд╛рддреНрдордХрддрд╛ рдкреНрд░реЗрд░рдгрд╛ рдХреА рдХрдореА рдирд╣реАрдВ рдереА рдмрд▓реНрдХрд┐ рд╕рд┐рд░реНрдл рдПрдХ
рдПрдХ рдЖрдВрддрд░рд┐рдХ рдЙрдкрдХрд░рдг рдХрд╛ рдЕрдкрд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкреНрд░рдпрд╛рд╕ рдЬреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╣реЛ рдЧрдпрд╛
рдЯреАрдПрдл рдореЗрдВ..

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/tensorflow/tensorflow/issues/22#issuecomment-287148247 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AAJMh0MMZvdTJ-bUoa71FBrEqHqFpDjvks5rmX5IgaJpZM4Gex3i
.

рд╣рд╛рдВ, рдореБрдЭреЗ рдЕрднреА рднреА StreamExecutor, SyCL in eigen, XLA (рдЬрд┐рд╕рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ CUDA рдмреИрдХрдПрдВрдб рд╣реИ, CPU рдФрд░ рдХреБрдЫ рд╕реНрд▓рд╛рдЗрдбреНрд╕ рдореЗрдВ opencl рдХреЗ рдЕрд▓рд╛рд╡рд╛) рдХреЗ рдмреАрдЪ рдереЛрдбрд╝рд╛ рднреНрд░рдо рд╣реИред

рдЯрдХреНрдХрд░

рдХреНрдпрд╛ Google рдореЗрдВ рдХрд┐рд╕реА рдиреЗ рдЗрд╕реЗ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП Apple рдпрд╛ AMD рд╕реЗ рдмрд╛рдд рдХреА рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдПрдордбреА рд▓реЛрдЧ рдЗрддрдиреЗ рдЦреЛ рдЧрдП рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдкрддрд╛ рднреА рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рд╡реЗ рдЕрднреА рднреА рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдПрдирд╡реАрдбрд┐рдпрд╛ рдХреЗ рдкрд╛рд╕ рдЗрддрдирд╛ рдмрдбрд╝рд╛ рдмрд╛рдЬрд╛рд░ рд╣рд┐рд╕реНрд╕рд╛ рдХреНрдпреЛрдВ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдРрдкреНрдкрд▓ рдПрдЖрдИ рдЯреАрдо рднреА рдпрд╣рд╛рдВ рдорджрдж рдХрд░рдиреЗ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдЦреБрд╢ рд╣реЛрдЧреА ... рдЕрдЧрд░ рдУрдкрдирд╕реАрдПрд▓ 2013 рд╕реЗ рдЙрдирдХреА рддрд░рдл рд╕реЗ рдПрдХ рддреНрдпрд╛рдЧ рдирд╣реАрдВ рдерд╛ рдФрд░ рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░, рдЙрдирдХреЗ рдорд╛рд▓рд┐рдХ Google рдкрд░ рдкрд╛рдЧрд▓ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред

рдЗрд╕ рдкрд░ рдирд╡реАрдирддрдо рдХреНрдпрд╛ рд╣реИ?

рдЯреАрдПрдл 1.1 рд░рд┐рд▓реАрдЬ рдиреЛрдЯреНрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдореИрдХ рдЬреАрдкреАрдпреВ (рдХреЗрд╡рд▓ рдПрдирд╡реАрдбрд┐рдпрд╛) рд╕рдорд░реНрдерди рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдЗрдП рдЖрд╢рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рд╕реЗ рдУрдкрдирд╕реАрдПрд▓ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреА (рдЗрд╕ рдкрд░ рдмрд╣реБрдд рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рд╣реИ)ред

рдЖрдк рдкреАрдЖрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рднреА рдЕрдиреБрд╕рд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ https://github.com/tensorflow/tensorflow/pull/9117

рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВ рдкрд┐рдЫрд▓реЗ рдорд╣реАрдиреЛрдВ рдХреЗ рджреМрд░рд╛рди рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореБрдЭреЗ Apple OpenCL рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ 2013 рд╕реЗ OpenCL 1.2 рдкрд░ рдЕрдЯрдХреЗ рд╣реБрдП рд╣реИрдВ (Apple рдЕрднреА рддрдХ SPIR 1.2 рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ)ред

рдпрджрд┐ OpenCL рдкрд░ TensorFlow рдЖрдкрдХреЗ рдХрд╛рдо рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХрд░реЗрдЧрд╛, рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдореИрдВ рдХрд┐рд╕ рд╣рдж рддрдХ рдЧрд╣рди рд╢рд┐рдХреНрд╖рдг рдХреЗ рдЙрдиреНрдирдд рдЕрдиреБрд╕рдВрдзрд╛рди рдФрд░ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдореИрдВ рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореЗрд░реА рдХрдВрдкрдиреА рдиреЗ рдСрди-рдбрд┐рд╡рд╛рдЗрд╕ рдЕрдиреБрдорд╛рди рдореЗрдВ рд╣рдорд╛рд░реЗ рдХрд╛рдо рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ GPU рдХреЗ рд▓рд┐рдП рдЯреНрдпреВрди рдХрд┐рдП рдЧрдП TensorFlow рдХреЗ рд▓рд┐рдП рдПрдХ OpenCL рдмреИрдХ рдПрдВрдб рдмрдирд╛рдпрд╛ рд╣реИред рд╣рдордиреЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдФрд░ рдореИрдХ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рд╣рд┐рдд рдкреНрд░рдореБрдЦ рдореЛрдмрд╛рдЗрд▓ рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдЬреАрдкреАрдпреВ рдкрд░рд┐рд╡рд╛рд░реЛрдВ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИред рдпрджрд┐ рдкрд░реНрдпрд╛рдкреНрдд рд░реБрдЪрд┐ рд╣реИ рддреЛ рд╣рдо рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд┐рддрд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореЗрдЯрд▓ (рдРрдкреНрдкрд▓ рдЬреАрдкреАрдпреВ) рдФрд░ рдПрд▓рдПрд▓рд╡реАрдПрдо (рд╕реАрдкреАрдпреВ) рднреА рд╣реИ, рд╕рд╛рде рд╣реА рд╢реВрдиреНрдп-рдирд┐рд░реНрднрд░рддрд╛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рднреА рд╣реИред рдпрд╣рд╛рдВ рд╣рд░ рдЙрдкрдХрд░рдг рдХреЛ рдЧрд╣рди рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рд╛рди рд╕рдорд░реНрдерди рджреЗрдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред

@choongng - рдпрд╣ рд╕рдм рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рдФрд░ рд╕рд╣рд╛рдпрдХ рд▓рдЧрддрд╛ рд╣реИред рдореЗрд░рд╛ рдирд┐рдЬреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ https://github.com/Synopsis/ OS X рдкрд░ OpenCL рдХреЗ рд╕рд╛рде-рд╕рд╛рде iOS рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдореЗрдЯрд▓ рд╕реЗ рдмрд╣реБрдд рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП Tensorflow рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрдмрд░рджрд╕реНрдд рд╡рд░рджрд╛рди рд╣реЛрдЧрд╛ред

рдзрдиреНрдпрд╡рд╛рджред

@choongng

рдпрджрд┐ рдЖрдкрдХреА рдХрдВрдкрдиреА рдПрдХ OpenCL рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреА рд╣реИ, рдпрд╛ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк TensorFlow рдХрд╛ рдзрд╛рддреБ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреА рд╣реИ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рдЦрдмрд░ рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣реА рд╣реИ, рдореИрдВ TensorFlow рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ NVidia рдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рдПрдХ eGPU рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реВрдБ / рдореЗрд░реА рдиреМрдХрд░реА рдХреЗ рд▓рд┐рдП рдПрдордмреАрдкреА рдкрд░ рдЪрд▓ рд░рд╣реЗ рдХреЗрд░рд╕...

рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП ... eGPU.io рд╕рдореБрджрд╛рдп рдкрд░ рдЬрд╛рдПрдВ

@choongng

рдореБрдЭреЗ рдЗрд╕реЗ рджреЗрдЦрдиреЗ рдореЗрдВ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреА, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЖрдкрдХрд╛ рдмрд╣реБрдд рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдЖрдЧреЗ рдмрдврд╝рд╛ рд╕рдХреЗ! рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рдЗрд╕реЗ рд╕реНрдХреЗрдЪреА рдХреНрд▓реЛрдЬ-рд╕реЛрд░реНрд╕ рдХрдВрдкрд╛рдЗрд▓рд░реНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ TF рдиреЗ CL рд╕рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдЪреБрдирд╛ рд╣реИред

26 рдЕрдкреНрд░реИрд▓ 2017 рдХреЛ 03:33:51 рдЬреАрдПрдордЯреА+01:00, рдЪреВрдВрдЧ рдПрдирдЬреА рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдЕрдЧрд░ OpenCL рдкрд░ TensorFlow рдЖрдкрдХреЗ рдХрд╛рдо рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХрд░реЗрдЧрд╛, рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ
рдЬрд┐рд╕ рд╣рдж рддрдХ рдореИрдВ рдЧрд╣рди рд╢рд┐рдХреНрд╖рдг рдХреЗ рдЕрдиреБрд╕рдВрдзрд╛рди рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ I
рдорджрдж рдХрд░рдирд╛ рдкрд╕рдВрдж рд╣реИред рдореЗрд░реА рдХрдВрдкрдиреА рдиреЗ TensorFlow рдХреЗ рд▓рд┐рдП рдПрдХ OpenCL рдмреИрдХ рдПрдВрдб рдмрдирд╛рдпрд╛ рд╣реИ
рдСрди-рдбрд┐рд╡рд╛рдЗрд╕ рдЕрдиреБрдорд╛рди рдореЗрдВ рд╣рдорд╛рд░реЗ рдХрд╛рдо рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ GPU рдХреЗ рд▓рд┐рдП рдЯреНрдпреВрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╣рдордиреЗ рдкреНрд░рдореБрдЦ рдореЛрдмрд╛рдЗрд▓ рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк GPU рдкрд░рд┐рд╡рд╛рд░реЛрдВ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рдирдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ
рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рдореИрдХ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдиред рдпрджрд┐ рдкрд░реНрдпрд╛рдкреНрдд рд░реБрдЪрд┐ рд╣реИ рддреЛ рд╣рдо
рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд┐рддрд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореЗрдЯрд▓ (Apple GPU) рднреА рд╣реИ
рдФрд░ рдПрд▓рдПрд▓рд╡реАрдПрдо (рд╕реАрдкреАрдпреВ), рд╢реВрдиреНрдп-рдирд┐рд░реНрднрд░рддрд╛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рд╕рд╛рдеред
рдпрд╣рд╛рдБ рд╣рд░ рдЙрдкрдХрд░рдг рдХреЛ рдЧрд╣рди рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рд╛рди рд╕рдорд░реНрдерди рджреЗрдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред

--
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ:
https://github.com/tensorflow/tensorflow/issues/22#issuecomment -297220160

--
K-9 рдореЗрд▓ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ Android рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рднреЗрдЬрд╛ рдЧрдпрд╛ред рдореЗрд░реЗ рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЛ рдорд╛рдлрд╝ рдХрд░реЛред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрд░рд╛рдВрддрд┐рдХрд╛рд░реА рд╣реЛрдЧрд╛;)

@choongng рд╢рд╛рдпрдж рдЕрдЧрд░ рдЖрдк рдЗрди рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╕реЗрдирд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ рддреЛ рдЗрд╕рд╕реЗ рдорджрдж рдорд┐рд▓реЗрдЧреА
https://github.com/benoitsteiner/tensorflow-opencl

@cathalgarvey рдЖрдк рдХрд┐рд╕ рдУрдкрди рд╕реЛрд░реНрд╕ рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд░рдЦрддреЗ рд╣реИрдВ? рдЬрдВрдЧрд▓реА рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдУрдкрди рд╕реЛрд░реНрд╕ рдУрдкрдирд╕реАрдПрд▓-рдЕрдиреБрдкрд╛рд▓рди рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ ...
рд╣рдореЗрдВ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдХрд┐рд╕реА рд╕рдорд╛рдзрд╛рди рдХреЛ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ...

рдореИрдВрдиреЗ рдпрд╣ рдирд╣реАрдВ рдХрд╣рд╛ рдХрд┐ рдпрд╣ рдПрдХ рдЖрд╕рд╛рди рдлрд┐рдХреНрд╕ рдерд╛ред рд▓реЗрдХрд┐рди, рдУрдкрдирд╕реАрдПрд▓ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдЖрдЦрд┐рд░рдХрд╛рд░, CUDA рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд╛рд▓рд┐рдХрд╛рдирд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ OpenCL рд╡рд┐рдХрд▓реНрдк TensorFlow рд╕реЗ рднреА рдмрджрддрд░ рд╣реИред

рдЗрддрдирд╛ рд╣реА рдирд╣реАрдВ, рдпрджрд┐ рдЖрдк рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдкреЛрд░реНрдЯреЗрдмрд▓ рдорд┐рдбрд▓рд╡реЗрдпрд░ рд░рдирдЯрд╛рдЗрдореНрд╕ рдпрд╛ рдПрд░реЗрдлрд╛рдпрд░ рдЗрддреНрдпрд╛рджрд┐ рд╕рд╣рд┐рдд рд╕реАрдПрд▓-рдпрд╛-рдХреНрдпреВрдбрд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рднреА рд╕реАрдпреВрдбреАрдП рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред

рдореБрдЭреЗ рдпрд╣ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧ CUDA рдореЗрдВ рдХрд░реНрдиреЗрд▓ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди CL рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рдХрддрд░рд╛рддреЗ рд╣реИрдВ, рднрд▓реЗ рд╣реА рдпрд╣ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪреЗрдЧрд╛ рдФрд░ рдмрд╛рдЬрд╛рд░ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдмрдврд╝рд╛рдПрдЧрд╛ред рд╕рднреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓реЗ рдордВрдЪ рдХреЗ рдкреНрд░рддреНрдпрдХреНрд╖ рдФрд░ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд▓рд╛рдн рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╕рдВрднрд╡рддрдГ рд▓рдВрдмреЗ рд╕рдордп рдореЗрдВ рд╕рднреА рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рд▓рд╛рдЧрдд рдмрдЪрдд рд╣реЛ рд╕рдХрддреА рд╣реИред

рдпрджрд┐ SYSCL рд╣реИ рддреЛ рдпрд╣ рдЕрдВрддрддрдГ рдХреИрд╕реЗ рд╣реЛрддрд╛ рд╣реИ, рдмрдврд╝рд┐рдпрд╛: рддреЛ рдХреБрдЫ рдмрдбрд╝реЗ рдирд╛рдо рдлреНрд░рд┐рдВрдЬ рдорд╛рд▓рд┐рдХрд╛рдирд╛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рдЦрд░реАрджрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдЦреБрд▓реЗ SYSCL рд╡рд┐рддрд░рдг рдкрд░ рдкреИрд╕рд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд▓рдЧрд╛ рд░рд╣реЗ рд╣реИрдВ, рдХрд┐рд╕ рддрд░рд╣ рдХреА рд╣рд╛рд░ рдПрдХ рдЦреБрд▓реЗ рдорд╛рдирдХ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рд╡рд┐рдлрд▓ рдХрд░рддреА рд╣реИ?

28 рдЕрдкреНрд░реИрд▓ 2017 рдХреЛ 09:13:06 GMT+01:00, Ronan Keryell [email protected] рдиреЗ рд▓рд┐рдЦрд╛:

@cathalgarvey рдЖрдк рдХрд┐рд╕ рдУрдкрди рд╕реЛрд░реНрд╕ рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд░рдЦрддреЗ рд╣реИрдВ?
рдУрдкрди рд╕реЛрд░реНрд╕ рдУрдкрдирд╕реАрдПрд▓-рд╕рдВрдЧрдд рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ
рдЬрдВрдЧрд▓реА рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░реЗрдВ ...
рд╣рдореЗрдВ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдХрд┐рд╕реА рд╕рдорд╛рдзрд╛рди рдХреЛ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ...

--
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ:
https://github.com/tensorflow/tensorflow/issues/22#issuecomment -297936468

--
K-9 рдореЗрд▓ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ Android рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рднреЗрдЬрд╛ рдЧрдпрд╛ред рдореЗрд░реЗ рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЛ рдорд╛рдлрд╝ рдХрд░реЛред

рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ рдореИрдВ рдЬреЛ рдкреВрдЫрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рд╡рд╣ рдпрд╣ рд╣реИ:

рдЗрд╕рд▓рд┐рдП Tensorflow рдЬреИрд╕реЗ рдХреБрдЫ рдЧрд╣рди рд╢рд┐рдХреНрд╖рдг рдврд╛рдВрдЪреЗ рдХреБрдЫ рд╣рдж рддрдХ CUDA рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ opencl рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЦреЛрдЬ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдмреЗрд╢рдХ CUDA рд╕рд┐рд░реНрдл "рднрд╛рд╖рд╛" рд╣реИ рдЬрд┐рд╕ рдкрд░ cuDNN рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд╡рд╣ рд╣реИ (рдпрджрд┐ рдореЗрд░реА рд╕рдордЭ рд╕рд╣реА рд╣реИ) рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдмрд╕реЗ рдЧрд╣рд░реА рд╕реАрдЦрдиреЗ рд╡рд╛рд▓реА рднрд╛рд╖рд╛рдПрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реА рд╣реИрдВред рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ cuDNN рдХрд╛ рдУрдкрдирдХреНрд▓ рд╕рдВрд╕реНрдХрд░рдг рдХреНрдпрд╛ рд╣реИред

рд╕рд╛рде рд╣реА AMD CUDA рдХреЗ рдУрдкрди-рд╕реЛрд░реНрд╕ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡реЗ рд▓рдЧрд╛рддрд╛рд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ rocM рдХреЛ рдХреЙрд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╡реЗ miOpen рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ cuDNN рд╕рдордХрдХреНрд╖ (рд╕рд╛рдорд╛рдиреНрдп рдЧрд╣рди рд╢рд┐рдХреНрд╖рдг рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрдХрд╛рд░реА рдЕрд╕реЗрдВрдмрд▓рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА) рд╣реИ, рдЬреЛ рдХрд┐ рдЕрднреА рддрдХ рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдПрдПрдордбреА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреБрдЫ рдЕрдзрд┐рдХ рд╕рдордЧреНрд░ рд╣реИ: рд╣рдо рдХреЗрд╡рд▓ GPU рдХреЗ рд▓рд┐рдП рднрд╛рд░реА-рдЧрдгрдирд╛ рдХрд╛ рдирд┐рд░реНрдпрд╛рдд рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рднреНрд░рдорд┐рдд рд╣реВрдБред рдКрдкрд░ рд╕реВрдЪреАрдмрджреНрдз рд▓реЛрдЧреЛрдВ рдХреА рддрд░рд╣ рдУрдкрдирд╕реАрдПрд▓ рдкреНрд░рдпрд╛рд╕ рдПрдХ рд╕рд╛рде рдХреИрд╕реЗ рдлрд┐рдЯ рд╣реЛрддреЗ рд╣реИрдВ? NVIDIA GPU рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЖрд╕рд╛рди рд╣реИ... CUDA рд╣реИ, рдФрд░ CUDA рдореЗрдВ cuDNN рд▓рд┐рдЦрд╛ рд╣реИред рдЧреИрд░-рдПрдирд╡реАрдЖрдИрдбреАрдЖрдИрдП/рдпрд╛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдПрдордбреА рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЗрддрдирд╛ рдХрдо рд╕реНрдкрд╖реНрдЯ рд▓рдЧрддрд╛ рд╣реИред рдПрдЪрдЖрдИрдкреА рдХреЛ рдХрдм рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЬрд╛рддреА рд╣реИ? рдПрдЪрд╕реАрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдкрд╕рдВрдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдУрдкрдирдХреНрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдкрд╕рдВрдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдХрд┐рд╕реА рднреА рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдХреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рдПрдЧреА!

@cathalgarvey рдЗрди рд╕рднреА рд╡рд┐рд╢рд╛рд▓ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░/рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреЗ рдкреАрдЫреЗ рдмрд╣реБрдд рд╕рд╛рд░реА рд░рд╛рдЬрдиреАрддрд┐ рд╣реИ ... :-(
рднрд▓реЗ рд╣реА рд╣рдо рд╢реБрджреНрдз рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдорд╛рдирджрдВрдбреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреНрд▓реАрди-рд╕реНрд▓реЗрдЯ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╕рдкрдирд╛ рджреЗрдЦ рд╕рдХреЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
Google TensorFlow рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдУрдкрдирд╕реАрдПрд▓-рдЖрдзрд╛рд░рд┐рдд рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдмрд╣реБрдд рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдореЗрдВ рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдХреЗ рдЧреИрд░-рдПрдХрд▓-рд╕реНрд░реЛрдд рдУрдкрдирд╕реАрдПрд▓ рд╕реА рд╕рдорд╛рдзрд╛рди рдХреЗ рдмрдЬрд╛рдп рд╕рд┐рдВрдЧрд▓-рд╕реЛрд░реНрд╕ рд╕реА ++ рдЬреИрд╕реЗ "рд╕реАрдпреВрдбреАрдП рд░рдирдЯрд╛рдЗрдо" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЦреНрд░реЛрдиреЛрд╕ рджрд╛рдпрд░реЗ рдореЗрдВ, рдУрдкрдирд╕реАрдПрд▓ рдХреЗ рд╕рд┐рдВрдЧрд▓-рд╕реЛрд░реНрд╕ рд╕реА ++ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдЖрдк рдбрдмрд▓рд┐рди рджреНрд╡рд╛рд░рд╛ рдбреНрд░реЙрдк рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЖрдпрд░рд▓реИрдВрдб рдореЗрдВ рднреА рдЖрдзрд╛рд░рд┐рдд рджрд┐рдЦрддреЗ рд╣реИрдВред :-)
рдЗрд╕ рдмреАрдЪ, https://github.com/triSYCL/triSYCL рдФрд░ SYCL рд╕реЗ рдирд┐рдкрдЯрдиреЗ рд╡рд╛рд▓реА TensorFlow рдФрд░ Eigen рд╢рд╛рдЦрд╛рдУрдВ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ...

@keryell рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ XLA : GPU : OpenCL рдХреА рдпреЛрдЬрдирд╛ SyCL рдкрд░ рд╣реИ?

рд╣рд╛рдп @benoitsteiner , рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ:

рд╕рдордЧреНрд░ TensorFlow рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдПрдХ OpenCL рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЦрдВрдб рдореЗрдВред рдЗрд╕реЗ рдЬрд▓реНрдж рд╣реА tensorflow.org рд╕рд╛рдЗрдЯ рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдореИрдВрдиреЗ рдУрдкрдирд╕реАрдПрд▓ рдХреЗ рд▓рд┐рдП tensorflow.org рдкрд░ рдПрдХ рдЦреЛрдЬ рдХреА рдФрд░ рдРрд╕рд╛ рдХреБрдЫ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд▓рдЧ рд░рд╣рд╛ рдерд╛, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рдпрд╣рд╛рдВ рд╡рд╛рдкрд╕ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред "рдЬрд▓реНрдж рд╣реА" рд╕реЗ, рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм ______ рд╕реЗ рдкрд╣рд▓реЗ рд╣реИ? ( _рдордЬреЗрджрд╛рд░ рд╡реНрдпрдВрдЧреНрдп рдпрд╣рд╛рдВ рдбрд╛рд▓реЗрдВ_)ред

рдореИрдВ рдЖрдкрдХреЗ рд░реЗрдкреЛ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ (рдпрд╛рдп!), рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдореИрдХ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣реЗ Tensorflow OpenCL рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдХреБрдЫ рдФрд░ рдЪрд╛рд╣рд┐рдП; рдореИрдВрдиреЗ рдЙрд▓реНрд▓реЗрдЦрд┐рдд triSYCL рдХрдВрдкрд╛рдЗрд▓рд░ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдЕрд╕рдлрд▓ рд░рд╣рд╛ред

@bhack рдЪреВрдВрдХрд┐ рдореИрдВ Google рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛, рдореБрдЭреЗ XLA рд╡рд┐рд╡рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ ...

@dylib рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рд╕рдм рдПрдХ рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реИ ...

@keryell рд╣рд╛рдБ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ .. рдХреБрдЫ рдмреИрдардХреЛрдВ рдореЗрдВ рдЪрд░реНрдЪрд╛ рд╣реЛрдиреЗ рдкрд░ рдореИрдВ рдмрд╕ рдЙрддреНрд╕реБрдХ рдерд╛ред

рдУрдкрдирд╕реАрдПрд▓ рд╕реАрдпреВрдбреАрдП рд╕реЗ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп HIP рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рддреЗ рд╣реБрдП рджреЗрдЦреВрдВрдЧрд╛ред
рддреЛ +1 рдЖрдк рд╕рднреА рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЗрд╕рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ред
https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP

HIP рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ CUDA рдХреЛрдб рдХреЛ рдкреЛрд░реНрдЯреЗрдмрд▓ C++ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЙрд╕реА рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ NVIDIA рдпрд╛ AMD GPU рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

рдПрдЪрдЖрдИрдкреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХрдо рд▓реЛрдЧ рдЬрд╛рдирддреЗ рд╣реИрдВред
рдЖрдк рдпрд╣рд╛рдБ tensorflow рдФрд░ HIP рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/issues/37
рддрдерд╛
https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/issues/45

рд╕рд╛рдЗрдб рдиреЛрдЯ:
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдореЗрдВ рдПрдирд╡реАрдбрд┐рдпрд╛ рдмрдирд╛рдо рдПрдПрдордбреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рдбрд╝рдирд╛ / рдбреАрдВрдЧ рдорд╛рд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡реЗ рд╕рдореНрдорд╛рдирдЬрдирдХ рдХрдВрдкрдирд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рдЕрджреНрднреБрдд рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЕрд╡рдзрд┐ рдмрдирд╛рддреА рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╣рдореЗрдВ рдПрдХ рдмрдбрд╝реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдзрд╛рд░ рдкрд░ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рджреЗрдиреЗ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдИ рднрд╛рд╖рд╛рдУрдВ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЕрдЪреНрдЫрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдмрд┐рдВрджреБ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред (рднрд▓реЗ рд╣реА рдХреНрд▓рд╛рдЙрдб рд╕рдорд╛рдзрд╛рди рдЕрджреНрднреБрдд рд╣реЛрдВ, рд╡реЗ рд╣рдореЗрд╢рд╛ рдЙрддреНрддрд░ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ)

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпрд╣рд╛рдВ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдПрдЪрдЖрдИрдкреА рдХреЗ рд╕рд╛рде рдЕрдиреБрднрд╡ рд╣реИред рдореБрдЭреЗ рджреЗрдЦрдиреЗ рджреЛред

"рдореЗрд░реА рдХрдВрдкрдиреА рдмреЗрд╣рддрд░ рд╣реИ" рдмрд╣рд╕ рдкрд░ рд╕рд╣рдордд рд╣реЛрдВред рдореИрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреМрди рд╕реЗ GPU TensorFlow рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдФрд░ рдЙрдкрдпреЛрдЧреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЗрдВрдЯреЗрд▓ рдЬреАрдкреАрдпреВ рдпрд╛ рдПрдореНрдмреЗрдбреЗрдб рдЬреАрдкреАрдпреВ (рдХреНрд╡рд╛рд▓рдХреЙрдо, рдПрдЖрд░рдПрдо, рдЗрдореЗрдЬрд┐рдиреЗрд╢рди), рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ - рд╣рд╛рдБ рдпрд╛ рдирд╣реАрдВ?

AMD Radeon рд╡реЗрдЧрд╛ рдлреНрд░рдВрдЯрд┐рдпрд░ рд╕рдВрд╕реНрдХрд░рдг

рд╣рдо рдЕрдкрдиреЗ ROCm рдУрдкрди рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдФрд░ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдЖрдХреНрд░рд╛рдордХ рд░реВрдк рд╕реЗ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред рд╣рдо рдХреИрдл (рдЕрдкреНрд░реИрд▓ рдореЗрдВ рдЬрд╛рд░реА) рдЬреИрд╕реЗ рдУрдкрди рдорд╢реАрди рдЗрдВрдЯреЗрд▓рд┐рдЬреЗрдВрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдмрд╛рдж рдореЗрдВ рдЗрд╕ рддрд┐рдорд╛рд╣реА рдореЗрдВ рд╣рдо рдорд╢рд╛рд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЯреЗрдВрд╕рд░ рдлреНрд▓реЛ рдкрд░ рдХрд╛рдо рдЪрд▓ рд░рд╣рд╛ рд╣реИред

рдЙрдиреНрд╣реЛрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдХреИрдл рдЬрд╛рд░реА рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдЗрд╕ рдзрд╛рдЧреЗ рдкрд░ рджреВрд╕рд░реЛрдВ рдХреЛ рдмрд┐рд▓реНрдбрд┐рдВрдЧ/рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреА:

https://github.com/ROCmSoftwarePlatform/hipCaffe

рдореИрдВрдиреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдПрдХ рд░реЛрдбрдмреНрд▓реЙрдХ рдорд╛рд░рд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╕реАрдПрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ clinfo рднреА рдЬрдорд╛ рд╣реЛ рдЬрд╛рддреА рд╣реИред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рд░рдг рд╣реИ, рдпрд╛ рдпрджрд┐ рдореЗрд░рд╛ рдХрд╛рд░реНрдб (R9 390) рдХреЗрд╡рд▓ ROCm рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред

17 рдордИ 2017 рдХреЛ 15:18:32 рдЬреАрдПрдордЯреА+01:00, рдмреНрд░рд╛рдпрди рд▓реА рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдПрдПрдордбреА рд░реЗрдбрд┐рдпрди рд╡реЗрдЧрд╛ рдлреНрд░рдВрдЯрд┐рдпрд░рд╕рдВрд╕реНрдХрд░рдг

рд╣рдо рдЕрдкрдиреЗ рдЖрд░рдУрд╕реАрдПрдо рдУрдкрди рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЗрдВ рдЖрдХреНрд░рд╛рдордХ рд░реВрдк рд╕реЗ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ
рдФрд░ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реАред рд╣рдо рдЦреБрд▓реА рдорд╢реАрди рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рдХреИрдл рдЬреИрд╕реЗ рдЦреБрдлрд┐рдпрд╛ рдврд╛рдВрдЪреЗ (рдЕрдкреНрд░реИрд▓ рдореЗрдВ рдЬрд╛рд░реА)ред рдмрд╛рдж рдореЗрдВ рдпрд╣
рдЬрд┐рд╕ рддрд┐рдорд╛рд╣реА рдореЗрдВ рд╣рдо рдорд╢рд╛рд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЯреЗрдВрд╕рд░ рдлреНрд▓реЛ рдореЗрдВ рд╣реИ
рдХрд╛рдоред

--
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ:
https://github.com/tensorflow/tensorflow/issues/22#issuecomment -302103815

--
K-9 рдореЗрд▓ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ Android рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рднреЗрдЬрд╛ рдЧрдпрд╛ред рдореЗрд░реЗ рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЛ рдорд╛рдлрд╝ рдХрд░реЛред

@cathalgarvey рдореИрдВ AMD рдХреЗ GPU рдкрд░ Caffe OpenCL рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред make run test рдПрдХ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рдХрд░ рд▓рд┐рдпрд╛

рд╕реБрди рдХрд░ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛; рдХреНрдпрд╛ рдореИрдВ рдЖрдкрдХреЗ HW/SW рд╕реЗрдЯрдЕрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫ рд╕рдХрддрд╛ рд╣реВрдБ? рдЬреИрд╕реЗ, рдЖрдк рдХрд┐рд╕ рдХрд╛рд░реНрдб рдХреЗ рд╣реИрдВ
рд▓рд┐рдирдХреНрд╕ рдХреЗ рдХрд┐рд╕ рдбрд┐рд╕реНрдЯреНрд░реЛ/рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЖрджрд┐?

рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ AMDGPU-pro рдерд╛, рд▓реЗрдХрд┐рди ROCm рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╕рдордп рдЗрд╕реЗ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рджрд┐рдпрд╛ред
рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рдкреБрд░рд╛рдиреА рдЪреАрдЬрд╝ рдореЗрд░реЗ рд╕рд╛рде рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░ рд░рд╣реА рд╣реЛред

--
@onetruecathal / @ [email protected]

рдмреБрдзрд╡рд╛рд░, 17 рдордИ, 2017 рдХреЛ рдЕрдкрд░рд╛рд╣реНрди 3:50 рдмрдЬреЗ, рдмреНрд░рд╛рдпрди рд▓реА рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

@cathalgarvey рдореИрдВ рдПрдПрдордбреА рдХреЗ рдЬреАрдкреАрдпреВ рдкрд░ рдХреИрдл рдУрдкрдирд╕реАрдПрд▓ рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░
рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореЗрдХ рд░рди рдЯреЗрд╕реНрдЯ рдиреЗ рдПрдХ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рдЯреЗрд╕реНрдЯ рдкрд╛рд╕ рдХрд░ рд▓рд┐рдП

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ, рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВред

@cathalgarvey

  • рдХреИрдлреЗ рдУрдкрдирд╕реАрдПрд▓ рд╢рд╛рдЦрд╛ (рдкрд░реАрдХреНрд╖рдг рдкреНрд░рддрд┐рдмрджреНрдз c61d48746b2df1d237c64abc7416342ce98f3251 )
  • рдУрдПрд╕: рдЙрдмрдВрдЯреВ 16.04.2 рдПрд▓рдЯреАрдПрд╕
  • рдкреЛрд▓рд╛рд░рд┐рд╕ (RX460), рдлрд┐рдЬреА (рдлреНрдпреВрд░реА рдПрдХреНрд╕) рдФрд░ рдЯреЛрдВрдЧрд╛ (W7100) рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛
  • рдбреНрд░рд╛рдЗрд╡рд░: Linux 16.40 рдпрд╛ рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП AMDGPU-Pro рдбреНрд░рд╛рдЗрд╡рд░
  • рд╡рд┐рдпрдирд╛рд╕реАрдПрд▓
  • рд╕рд╛рдорд╛рдиреНрдп рдирд┐рд░реНрднрд░рддрд╛рдПрдБ: libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler libatlas-base-dev libblas-dev libgflags-dev libgoogle-glog-dev liblmdb-dev libboost-all-dev cmake python-numpy
  • рд╕реЗрдореЗрдХ: cmake -DViennaCL_INCLUDE_DIR=<wherever you downloaded ViennaCL>/ViennaCL-<version> -DOPENCL_INCLUDE_DIRS=<wherever you downloaded ViennaCL>/ViennaCL-<version>/CL/ -DOPENCL_LIBRARIES=/opt/amdgpu-pro/lib/x86_64-linux-gnu/libOpenCL.so.1 ..

рд╣рд╛рдВ, рдЙрдкрд░реЛрдХреНрдд рдУрдкрдирд╕реАрдПрд▓ рд╢рд╛рдЦрд╛ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдирд╛рдпрдмрд╛рдл7 рдПрдПрдордбреА рдФрд░ рдПрдЪрдбреА рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдореЛрдбрд┐рдЯреА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рд░реАрдпрд▓-рдЯрд╛рдЗрдо рдЕрдиреБрдорд╛рди рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рдПрдХ рдкреБрд╕реНрддрдХ (рдмрд╣реБрдд рдЬрд▓реНрдж) рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдЧрд╛ред

рдЖрд╣; рдореИрдВ рд╣рд┐рдкрдХреИрдл рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рдерд╛, рдУрдкрдирд╕реАрдПрд▓ рд╢рд╛рдЦрд╛ рдирд╣реАрдВ:

https://github.com/ROCmSoftwarePlatform/hipCaffe

рд╣рд┐рдкрдХреИрдл рдмрдирд╛рдиреЗ/рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд░рдУрд╕реАрдПрдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рдкрдбрд╝рд╛
рдПрдПрдордбреАрдЬреАрдкреАрдпреВ-рдкреНрд░реЛ, рд╢рд╛рдпрдж рдореИрдВ рдлрд┐рд░ рд╕реЗ рд╡реЗрдирд┐рд▓рд╛ рд╢рд╛рдЦрд╛ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рдпрд╣ рдЦрд░рд╛рдм рд╣реИ
рдкреНрд░рд▓реЗрдЦрд┐рдд, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ .. рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдПрдХ рдЕрдВрдзрд╛ "рдмрдирд╛рдиреЗ" рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ рдФрд░ рджреЗрдЦреВрдВрдЧрд╛ред

рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рдЕрднреА рднреА AMD рдХреЗ рд╕рд╛рде рджреВрд╕рд░реЛрдВ рдХреЗ рдЕрдиреБрднрд╡ рд╕реБрдирдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ
рдЖрд░рдУрд╕реАрдПрдо/рд╣рд┐рдк рд╕реНрдЯреИрдХ; рдЕрдЧрд░ рд╡реЗ рдПрдХ Tensorflow рдХрд╛рдВрдЯрд╛ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛,
рдмрд╢рд░реНрддреЗ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдПрдордбреА рдХрд╛рд░реНрдб рдХреЗ 3/4 рд╕реЗ рдЕрдзрд┐рдХ рдореЙрдбрд▓реЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реЛ
рдЬрдВрдЧрд▓реАред

--
@onetruecathal / @ [email protected]

рдмреБрдзрд╡рд╛рд░, 17 рдордИ, 2017 рдХреЛ рд╢рд╛рдо 4:09 рдмрдЬреЗ, рдмреНрд░рд╛рдпрди рд▓реА рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

@cathalgarvey

рдХреИрдл рдУрдкрдирд╕реАрдПрд▓ рд╢рд╛рдЦрд╛ (рдкрд░реАрдХреНрд╖рдг рдкреНрд░рддрд┐рдмрджреНрдз
c61d48746b2df1d237c64abc7416342ce98f3251)
рдУрдПрд╕: рдЙрдмрдВрдЯреВ 16.04.2 рдПрд▓рдЯреАрдПрд╕
рдкреЛрд▓рд╛рд░рд┐рд╕ (RX460), рдлрд┐рдЬреА (рдлреНрдпреВрд░реА рдПрдХреНрд╕) рдФрд░ рдЯреЛрдВрдЧрд╛ (W7100) рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛
рдбреНрд░рд╛рдЗрд╡рд░: Linux 16.40 рдпрд╛ рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП AMDGPU-Pro рдбреНрд░рд╛рдЗрд╡рд░
рд╡рд┐рдпрдирд╛рд╕реАрдПрд▓
рд╕рд╛рдорд╛рдиреНрдп рдирд┐рд░реНрднрд░рддрд╛рдПрдБ: libprotobuf-dev libleveldb-dev libsnappy-dev
libopencv-рджреЗрд╡ libhdf5-рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ-рджреЗрд╡ рдкреНрд░реЛрдЯреЛрдмрдл-рд╕рдВрдХрд▓рдХ libatlas-рдЖрдзрд╛рд░-рджреЗрд╡
libblas-рджреЗрд╡ libgflags-dev libgoogle-glog-dev liblmdb-dev
libboost-рдСрд▓-рджреЗрд╡ cmake git рдЕрдЬрдЧрд░-рд╕реБрдиреНрди cmake
-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ, рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВред

@cathalgarvey рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд╡реЗ рдПрдХ рд╣рд┐рдк рдмреИрдХрдПрдВрдб рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рди рдХрд┐ рдкреВрд░реНрдг рдХрд╛рдВрдЯрд╛ред рдпрд╣ рджреБрдЦрдж рд╣реЛрдЧрд╛ рдФрд░ рдХреЗрд╡рд▓ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдЧрд╛ред
рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░реНрдпрд╛рдкреНрдд рдЯреВрд▓рд┐рдВрдЧ рд╣реИ: /

@YvanDaSilva AMD рдХреЗ рдкреНрд░рдпрд╛рд╕ рдЗрд╕ рд╕рдордп рдереЛрдбрд╝реЗ рдЦрд░рд╛рдм рд╕рдордиреНрд╡рд┐рдд рд╣реИрдВ (рд╣рд╛рдБ, рд╕рднреА рдХрд╛рдВрдЯреЗ)ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреИрдлреЗ рдХреА рдУрдкрдирд╕реАрдПрд▓ рд╢рд╛рдЦрд╛ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпрд╣ рдЕрднреА рддрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ ...

@naibaf7 рдореИрдВ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣рдордд рд╣реВрдБред
рд╕рдЪ рдХрд╣реВрдВ рддреЛ рдЙрдирдХреЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╛рдирд╡ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдХрдореА рд▓рдЧрддреА рд╣реИ, рд╡реЗ рд╕рднреА рдореЛрд░реНрдЪреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рд╡реИрд╕реЗ: рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдИрдЯреАрдПрдЪ рдореЗрдВ рдиреНрдпреВрд░реЛрдЗрдирдлреЙрд░рдореИрдЯрд┐рдХреНрд╕ рдерд╛;) рдЕрдЪреНрдЫрд╛!

@cathalgarvey рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ рдЬреИрд╕реЗ рдЖрдо рдЖрджрдореА рдХреЗ рд▓рд┐рдП ROCm/HIP рд╕реНрдЯреИрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдЕрдкрдиреЗ рд╕рд╛рдЧрд░ рджреНрд╡реАрдк рдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рдПрдПрдордЬреАрдкреАрдпреВ-рдкреНрд░реЛ рдФрд░ рдПрдПрдордбреАрдЬреАрдкреАрдпреВ рдЦреЗрд▓ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдореИрдВ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдкрд░рд┐рдгрд╛рдо рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

@YvanDaSilva
рдЙрдиреНрд╣реЛрдВрдиреЗ рдореЗрд░реА рдореВрд▓ рдХреИрдл рдУрдкрдирд╕реАрдПрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдкреНрд░рд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛, рдФрд░ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдордиреНрд╡рдп рдирд╣реАрдВ рдХрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдПрдПрдордбреА рдЕрдиреБрд╕рдВрдзрд╛рди рдФрд░ рдПрдПрдордбреА рдореЗрдВ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рд╡реНрдпрдХреНрддрд┐ рдиреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдУрдкрдирд╕реАрдПрд▓ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдкрд░ рднреА рдХрд╛рдо рдХрд┐рдпрд╛ - рдкреВрд░реНрд╡ рдПрдПрдордбреА рдЕрдиреБрд╕рдВрдзрд╛рди рдЯреАрдо рдЕрдм рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╣реИ рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдЬреНрдпрд╛рджрд╛рддрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЯреЗрд╕реНрд▓рд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ ( рд╕реЗрд▓реНрдл рдбреНрд░рд╛рдЗрд╡рд┐рдВрдЧ рдХрд╛рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ) рдЕрдм... рддреЛ рдШрдЯрдирд╛рдУрдВ рдХреА рдПрдХ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рд╢реНрд░реГрдВрдЦрд▓рд╛ред
рдореИрдВ рдЕрднреА рднреА рдЙрдирдХреЗ рд╕рд╛рде рд╕рд╣рдпреЛрдЧ рдФрд░ рд╕рдВрдкрд░реНрдХ рдореЗрдВ рд╣реВрдВред рд╡реЗрдЧрд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ :)

@naibaf7 рдирд╛рдЗрд╕, рд▓рдХреА рдпреВ! рдХрд╛рд╢ рдРрд╕реА рдкрдврд╝рд╛рдИ рд╣реЛрддреА рдЬрдм рдореИрдВ рд╣реАрдЧ-рд╡реАрдбреА рдореЗрдВ рд╣реЛрддрд╛ рддреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдордПрд╕рд╕реА рдХрд░рддрд╛ред

рд╣рд╛рдБ... рдореБрдЭреЗ рдпрд╣реА рд▓рдЧрд╛ред рдЗрддрдирд╛ рдХрд╛рдо, рдЗрддрдиреЗ рдХрдо рдорд╛рдирд╡ рд╕рдВрд╕рд╛рдзрди рдЗрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред

рд╡рд╣ рд╕рдм рдЪреАрдЬреЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рд▓рдЧрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдЗрдП TensorFlow рдХреЛ OpenCL SYCL рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдФрд░ рди рдХреЗрд╡рд▓ рд╡рд┐рдХреНрд░реЗрддрд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╛рдзрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдкрд░ рдлрд┐рд░ рд╕реЗ рдзреНрдпрд╛рди рджреЗрдВ ... :-)
рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ RoC рдФрд░ рдЕрдиреНрдп HiP рдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдореБрджреНрджреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ GitHub рд╣реЛрдЧрд╛ ...
@ naibaf7 : рдХрдо рд╕реЗ рдХрдо рдореИрдВ рдЕрднреА рднреА рдУрдкрдирд╕реАрдПрд▓ рджрд╛рдпрд░реЗ рдореЗрдВ рд╣реВрдВред рдлрд┐рд░ рд╕реЗ рдХреНрд▓рдм рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ! :-)

@keryell рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ HIP рдкрд░ рдЪрд░реНрдЪрд╛ рдорд╛рдиреНрдп рд╣реИ, рдЕрдЧрд░ рдХрд╛рдо рдореЗрдВ Tensorflow рдХреЗ рд▓рд┐рдП HIP рдкреЛрд░реНрдЯ рд╣реИред рдЖрдЦрд┐рд░рдХрд╛рд░, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Tensorflow-on-CL рд╕рдорд╛рдзрд╛рди рдПрдХ рдорд╛рд▓рд┐рдХрд╛рдирд╛ SYCL рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рддреЗрдЬреА рд╕реЗ рд╕реАрдорд┐рдд рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдФрд░ рдХрд░реНрдиреЗрд▓ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рд╡рд┐рдХреНрд░реЗрддрд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ" HIP рд╕рдорд╛рдзрд╛рдиреЛрдВ рд╕реЗ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реИ рдЬреЛ CUDA рд╕реЗ рдмрд╛рд╣рд░ рдПрдХ рдирдпрд╛ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред

рдПрдЪрдЖрдИрдкреА рдЬреНрдпрд╛рджрд╛рддрд░ рдПрдПрдордбреА рдЕрднреА рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди AFAIK рдпрд╣ рдПрдХ рдЦреБрд▓рд╛ рдорд╛рдирдХ рд╣реИ? рд╢рд╛рдпрдж рдореИрдВ рдЧрд▓рдд рд╣реВрдБред рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рдФрд░ рдпрджрд┐ AMD рдПрдХ tensorflow-on-HIP рдкреЛрд░реНрдЯ рд╡рд┐рддрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рддреБрд░рдВрдд рдЖрдзрд┐рдХрд╛рд░рд┐рдХ tensorflow-on-SYCL рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЦреБрд▓рд╛ рд╣реЛрдЧрд╛ред

HIP CUDA рдХрд╛ рдПрдХ рд╕рдмрд╕реЗрдЯ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ CUDA рдЬрд┐рддрдирд╛ рдЦреБрд▓рд╛ рд╣реИред

рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИ; HIP-the-API, CUDA-the-API рдХрд╛ рдПрдХ рдЙрдкрд╕рдореБрдЪреНрдЪрдп рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рддрдХ NVidia Oracle рдХреЛ рдЪреИрдирд▓рд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд▓рд╛рд▓рд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдореБрджреНрджрд╛ рд╣реЛрдЧрд╛ред рдореИрдВ рдПрдЪрдЖрдИрдкреА рдХреЗ рд▓рд┐рдП рд░рдирдЯрд╛рдЗрдо/рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд░ рд░рд╣рд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдПрдордбреА ~ рдЦреБрд▓реЗ рд╣реИрдВред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ : рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдпрджрд┐ рдЙрдкрд░реЛрдХреНрдд рдЕрд╢рд┐рд╖реНрдЯ рд▓рдЧ рд░рд╣рд╛ рдерд╛; рдмрд╕ рдКрдкрд░ рдореЗрд░реА рд╕реНрдерд┐рддрд┐ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ!

рдХреНрдпрд╛ рд╡рд▓реНрдХрди рдФрд░ рдУрдкрдирдХреНрд▓ рдХрд╛ рд╡рд┐рд▓рдп рд╣реЛрдЧрд╛ ?

@cathalgarvey рдЪрд░реНрдЪрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдорд╛рдиреНрдп рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ рдирд╣реАрдВ ...
рдЖрдк рдЦрд░рдиреЛрд╕ рд╕рдореВрд╣ рдорд╛рдирдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП TensorFlow рдФрд░ Eigen рдХреЗ рдмрдВрджрд░рдЧрд╛рд╣ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЯреНрд░реИрдХ рдкрд░ рдпрд╣рд╛рдВ рдЧрд┐рдЯрд╣рдм рдкрд░ рд╣реИрдВред
рдпрд╣ рдЯреНрд╡рд┐рдЯрд░ рдпрд╛ рдЖрдкрдХреА рдлреЗрд╕рдмреБрдХ рд╡реЙрд▓ рдирд╣реАрдВ рд╣реИ... :-)
рддреЛ рдХреГрдкрдпрд╛ рдЗрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдХреБрдЫ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдпреЛрдЧрджрд╛рди рджреЗрдВ! :-)

TensorFlow рдХреЛ ComputeCpp, рдХреЛрдбрдкреНрд▓реЗ рдХреЗ SYCL рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрдЕрдк рдЧрд╛рдЗрдб рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рддрд╛рдХрд┐ OpenCL рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЗрд╕ рдкрд░ рдЖрдк рд╣рдореЗрдВ рдЬреЛ рднреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдо рдЙрд╕рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реЗрдВрдЧреЗред https://www.codeplay.com/products/computesuite/computecpp/guides/how-to-setup-tensorflow-with-computecpp

рдХреНрдпрд╛ рдЖрдкрдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рди рдХрд┐рдП рдЧрдП AMD gpus рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдлрд▓рддрд╛ рджрд░ рдХреНрдпрд╛ рд╣реИ? рдореБрдЭреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ рдЕрдЧрд░ рдЗрд╕реЗ AMD Radeon Pro 460 @rodburns рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореБрдЭреЗ рдЕрдкрдиреЗ рдореИрдХрдмреБрдХ рд▓реИрдкрдЯреЙрдк рдкрд░ ubuntu рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдХреБрдЫ рдШрдВрдЯреЗ рдмрд┐рддрд╛рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ рдПрдХ рдЕрдкреНрд░рдпреБрдХреНрдд GPU рдХреЗ рд╕рд╛рде рдХреЛрдИ рдЙрдореНрдореАрдж рд╣реИ

@samhains рд╣рдордиреЗ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдЙрдмрдВрдЯреВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдкреБрд░рд╛рдиреЗ рдПрдПрдордбреА рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬреЛ рдПрд╕рдкреАрдЖрдИрдЖрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ рдЕрднреА рддрдХ рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рдкрд╛рдпрд╛ рд╣реВрдВ рдХрд┐ рд╡реЗ рдХреМрди рд╕реЗ рдбреНрд░рд╛рдЗрд╡рд░ рд╣реИрдВред

@samhains рдпрджрд┐ рдХреЛрдбрдкреНрд▓реЗ рдорд╛рд░реНрдЧ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ, рддреЛ tf-coriander рдХреЛ рдпрд╛рдж рди рдХрд░реЗрдВ, рдЬреЛ рдЕрдВрддрддрдГ рдЙрдмрдВрдЯреВ/рдореИрдХ рдкрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрдкрдпреЛрдЧ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИред

рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕реЗ convnets, рджреНрд╡рд┐рджрд┐рд╢ rnns, рд╡рдЧреИрд░рд╣ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдФрд░ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣ "рд╡реЗрдирд┐рд▓рд╛" рдУрдкрдирд╕реАрдПрд▓ 1.2 рдкрд░ рдЪрд▓рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдкреБрд░рд╛рдиреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреА рдПрдХ рд╡рд┐рд╢рд╛рд▓ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкрд░ Tensorflow рдХреЛ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

рд░рдЧрдбрд╝, рдЕрднреА рдХреЗ рд▓рд┐рдП, рдпрд╣ Tensorflow 0.11 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред

@рд░реЛрдбрдмрд░реНрдиреНрд╕ред рдореИрдВрдиреЗ рд▓рд┐рдВрдХ рдкрд░ рд╕реВрдЪреАрдмрджреНрдз рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА https://www.codeplay.com/products/computesuite/computecpp/guides/how-to-setup-tensorflow-with-computecpp
рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ:
рддреНрд░реБрдЯрд┐: /home/sayantan/.cache/bazel/_bazel_sayantan/6f05f78a1e215999d72e42c1e87a8c1d/external/protobuf/ BUILD:609 :1: рдЕрдШреЛрд╖рд┐рдд рд╕рдорд╛рд╡реЗрд╢рди рдирд┐рдпрдо '@protobuf_/:python/internal/sopiimplation. ':
рдЕрд╕рд▓ рдореЗрдВ рдореБрдЭреЗ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИ рдпрджрд┐ рдореИрдВ рд╕реНрд░реЛрдд рд╕реЗ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдмрджрд▓ рдЧрдпрд╛ рд╣реИред

@rahasayantan рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ? --config=sycl рдХреЗ рдмрд┐рдирд╛ рд╕рдВрдХрд▓рди рдХрд░рддреЗ рд╕рдордп рднреА рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ?

@lukeiwanski : рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдмрд╛рдЬрд╝рд▓ рдкреНрд░реЛрдЯреЛрдмрдл рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдпрд╣ рдЙрдк рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдвреВрдВрдв рдпрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рд░рд┐рдХрд░реНрд╕рд┐рд╡-рд╕рдмрдорд┐рд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рдкреБрд▓ рдХрд┐рдпрд╛ рдерд╛, рдлрд┐рд░ рднреА рдЗрд╕рдореЗрдВ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред рдФрд░ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ --config = sycl. рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ рдЙрд╕реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ рдЬрдм рдореИрдВ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рдореБрдЦреНрдп рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдЧрд┐рдЯ рдкреБрд▓ рдХрд░рддрд╛ рд╣реВрдВред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдУрдкрдирд╕реАрдПрд▓ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдЗрд╕рдХреЗ рдХреБрдЫ рдореБрджреНрджреЗ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВ рдЦреАрдВрдЪ рд░рд╣рд╛ рд╣реВрдВред рдЬрдм рдореИрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЧрд┐рдЯ рдФрд░ рд╕рдВрдХрд▓рди рдХреЗ рдмрд┐рдирд╛ рдЖрдкрдХреЗ рд░реЗрдкреЛ рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЬрд╝рд┐рдк рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдареАрдХ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдореБрдЭреЗ рд╕реЗрдЧрдореЗрдВрдЯреЗрд╢рди рдЧрд▓рддреА рдорд┐рд▓рддреА рд╣реИред рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдЬреАрдЖрдИрдЯреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЙрдард╛рдпрд╛ рд╣реИ рдФрд░ рд╣рдо рд╡рд╣рд╛рдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдореИрдВ рдЙрд╕ рдереНрд░реЗрдб рдкрд░ рд╕реЗрдЧрдореЗрдВрдЯреЗрд╢рди рдЧрд▓рддреА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдкрдбреЗрдЯ рджреВрдВрдЧрд╛ (рдЪреАрдЬреЛрдВ рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдмрд┐рдВрджреБ рдирд╣реАрдВ)ред рдЖрдкрдХреЗ рдЬрд╡рд╛рдм рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдУрдкрдирд╕реЛрд░реНрд╕ рдЯреНрд░рд╛рдИрдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдЖ рд░рд╣рд╛ рд╣реИред рджреЗрдЦреЗрдВ https://github.com/triSYCL/triSYCL/pull/45

рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рд╕реНрдерд╛рди рдирдпрд╛ рд╣реИред рдЯреАрдПрдл рд╕рдорд░реНрдерди рдУрдкрдирд╕реАрдПрд▓ рджреЗрдЦрдиреЗ рдореЗрдВ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред рдореИрдВ рдЗрд╕ рдереНрд░реЗрдб рд╕реЗ рдЕрдкрдбреЗрдЯ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реВрдВ?

рдПрдореНрдореНрдо...рджрд┐рд▓рдЪрд╕реНрдк, рд▓реЗрдХрд┐рди рдХреНрдпреЛрдВ? рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ Tensorflow рд╢реБрд░реБрдЖрдд рдореЗрдВ cuda рд▓реЗрдХрд┐рди opencl рдХреНрдпреЛрдВ рдЪреБрдиреЗрдВ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдХрд╛рд░рдг?

рд╣рд╛рдп @ рдЯреЗрдВрд╕рд░рдлреНрд▓реЙрд╡рд░-рдорд╛рд▓реА,

@hughperkins рдиреЗ рдзрдирд┐рдпрд╛ рдмрдирд╛рдпрд╛ рд╣реИ рдЬреЛ OpenCL 1.2 рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ NVIDIA┬о CUDAтДв рдХреЛрдб рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк TF рдХреЛ OpenCL 1.2 рдЙрдкрдХрд░рдгреЛрдВ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВ, рддреЛ рдЖрдк рдпрд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рдпрджрд┐ рдЖрдк рдЙрдирдХреЗ рдХрд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдХреГрдкрдпрд╛ рдЙрдирдХреЗ рдирд╛рдо рдФрд░ рдЙрдирдХреЗ рдпреЛрдЧрджрд╛рди рдХрд╛ рд╢реНрд░реЗрдп рджреЗрдВред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдХ рдХреЗ рд▓рд┐рдП рдХрднреА рднреА OpenCL рд╕рдорд░реНрдерди рджреЗрдЦрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрдо рд╕реЗ рдХрдо tf.zero рд╣реЛ рдЧрдИ рд╣реИред рдореИрдВрдиреЗ рдЕрднреА рдкрдврд╝рд╛ рд╣реИ рдХрд┐ TensorFlow Mac рдореЗрдВ рдЕрдм рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХреЛрдИ GPU рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реЛрдЧрд╛ (1.2+):

Note: As of version 1.2, TensorFlow no longer provides GPU support on Mac OS X.

wtf

https://www.tensorflow.org/install/install_mac

рдореИрдХ рдкрд░ рдЯреАрдПрдл-рдзрдирд┐рдпрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐/рдЬрдм рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рд╕рдорд╛рдирддрд╛ рддрдХ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ рддреЛ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

22 рдЬреВрди 2017 рдХреЛ 11:46:51 рд╕реАрдИрдПрд╕рдЯреА , dylib [email protected] рдиреЗ рд▓рд┐рдЦрд╛:

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдХ рдХреЗ рд▓рд┐рдП рдХрднреА рднреА OpenCL рд╕рдорд░реНрдерди рджреЗрдЦрдиреЗ рдХреА рдЙрдореНрдореАрджреЗрдВ рдЦрддреНрдо рд╣реЛ рдЧрдИ рд╣реИрдВ
рдереЛрдбрд╝рд╛ рд╕реЗ tf.zero ред рдореИрдВрдиреЗ рдЕрднреА рдкрдврд╝рд╛ рд╣реИ рдХрд┐ рдореИрдХ рдЕрдм рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ
рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рдХреЛрдИ рднреА GPU рд╕рдорд░реНрдерди (1.2+):

Note: As of version 1.2, TensorFlow no longer provides GPU support on
Mac OS X.

wtf

https://www.tensorflow.org/install/install_mac

--
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ:
https://github.com/tensorflow/tensorflow/issues/22#issuecomment -310331281

--
K-9 рдореЗрд▓ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ Android рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рднреЗрдЬрд╛ рдЧрдпрд╛ред рдореЗрд░реЗ рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЛ рдорд╛рдлрд╝ рдХрд░реЛред

рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдПрдХ eGPU рдФрд░ n Nvidia 980 Ti рдХреЗ рдЕрдВрджрд░ рд╣рдореЗрдВ рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛рдо рдХрд░рдиреЗ рдФрд░ Cuda рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рддрд╛ рд╣реИ

рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рддрдХ рдЕрдкрдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ Tensor Flow рдХреЛ рдЖрдЬрд╝рдорд╛рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИред

рдореЗрд░реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдФрд░ рдХреВрдбрд╛ рдЯреВрд▓рдХрд┐рдЯ рдФрд░ рдХреВрдбрд╛ рдХреЗ рдирдореВрдиреЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ

https://youtu.be/JN9fDmqf010

@cathalgarvey рдЖрдкрдиреЗ рдХрд╣рд╛ рдерд╛ рдХрд┐ рдЖрдк tf-рдзрдирд┐рдпрд╛ рдкрд░ рдХрдиреНрд╡рдиреЗрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЕрднреА рддрдХ рдХрдиреНрд╡рдиреЗрдЯ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рд╕реНрдкрд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдк tf-рдзрдирд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ GPU рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдиреНрд╡рдиреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдлрд▓ рд░рд╣реЗ рд╣реИрдВ?

рдПрдлрд╡рд╛рдИрдЖрдИ,
https://github.com/tensorflow/tensorflow/issues/10703

рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдЕрдм OS X рдкрд░ GPU рдХрд╛ рд╕рдорд░реНрдерди рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ? рдореИрдВ рдПрдХ eGPU рд╕реЗрдЯрдЕрдк рдХреЗ рд╕рд╛рде Tensorflow рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рдерд╛ рдЬреЛ рдореЗрд░реЗ рдкрд╛рд╕ рд╣реИред

@justinrmiller рд╡реЗ рджрд╛рд╡рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдЕрдм рдореИрдХ рдУрдПрд╕ рдкрд░ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЛ рд░реЛрдХрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рдЗрд╕ рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рдиреЗ рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд░рд╣реА рд╣реИред рд╣рд╛рдИ рд╕рд┐рдПрд░рд╛ рдкрд░ рдПрдЧрдкрд╕ рдХреЗ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдФрд░ рдирдП рдПрдирд╡реАрдбрд┐рдпрд╛ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реБрдП, рдЕрдм рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

@tscholak рд╣рд╛рдБ рдмрд┐рд▓реНрдХреБрд▓ред рдореИрдВ рдЕрдкрдиреЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдмреЙрдХреНрд╕ рдХреЛ рдЕрдЪреНрдЫреЗ рдХреЗ рд▓рд┐рдП рдЦреЛрджрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдирдП рдПрдЧрдкреВ рдПрдирдХреНрд▓реЛрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рдерд╛ред

рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдХрд┐ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдирд╡реАрдбрд┐рдпрд╛ рдХрд╛рд░реНрдб рдИрдЬреАрдкреАрдпреВ рдмрд╛рдбрд╝реЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдРрдкреНрдкрд▓ рдХреЗрд╡рд▓ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдЕрдкрдиреЗ рджреЗрд╡ рдХрд┐рдЯ рдореЗрдВ рдЖрд░рдПрдХреНрд╕ 580 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдУрдкрдирд╕реАрдПрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рджреВрд░ рдирд╣реАрдВ рд╣реЛрдЧреАред

рдореИрдХ рдкрд░ рдУрдкрдирд╕реАрдПрд▓ 1.2 рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХреЛрдИ рд╕рдХреНрд░рд┐рдп рдбреНрд░рд╛рдЗрд╡рд░ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ
рд╡рд┐рдХрд╛рд╕ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ TF рдореЗрдВ рдореЗрдЯрд▓ рд╕рдкреЛрд░реНрдЯ рдЬреЛрдбрд╝рдирд╛ рдПрдХ рд╢реНрд░рдорд╕рд╛рдзреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ
(Eigen рдФрд░ рд╕реНрдЯреНрд░реАрдо рдирд┐рд╖реНрдкрд╛рджрдХ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛) рд▓реЗрдХрд┐рди рдХрд░рдиреЗ рдпреЛрдЧреНрдпред

рд╕реВрд░реНрдп рдкрд░, рдЬреБрд▓рд╛рдИ 16, 2017 рдЕрдкрд░рд╛рд╣реНрди 3:17 рдмрдЬреЗ рдлреЗрд░реНрдбрд┐рдпрд╛ рдореИрдХрдХреЗрдУрдШ рдЕрдзрд┐рд╕реВрдЪрдирд╛рдПрдВ @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдХрд┐ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдирд╡реАрдбрд┐рдпрд╛ рдХрд╛рд░реНрдб рдИрдЬреАрдкреАрдпреВ рдмрд╛рдбрд╝реЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдРрдкреНрдкрд▓
рдХреЗрд╡рд▓ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ RX580 рдХреЛ рдЙрдирдХреЗ рджреЗрд╡ рдХрд┐рдЯ рдореЗрдВ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдУрдкрдирд╕реАрдПрд▓ рджреВрд░ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛ред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/tensorflow/tensorflow/issues/22#issuecomment-315634166 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/ACFkv3bmDr_KFSydC-QW_xbuR008pvLXks5sOm_kgaJpZM4Gex3i
.

рдореИрдВ macOS рдХреЗ рд▓рд┐рдП GPU рд╕рдорд░реНрдерди рдХреЗ рдкрд░рд┐рддреНрдпрд╛рдЧ рд╕реЗ рдмрд╣реБрдд рджреБрдЦреА рд╣реВрдБред

рдЕрднреА рднреА macOS рдкрд░ GPU рдХреЗ рд▓рд┐рдП OpenCL рд╕рдкреЛрд░реНрдЯ рдХреА рддрд▓рд╛рд╢ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ Apple, рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЬрд▓реНрдж рд╣реА рдХрд┐рд╕реА рднреА рд╕рдордп Nvidia GPU рдореЗрдВ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

Tensorflow рдореЗрд░реА рдкрд╕рдВрдж рдХрд╛ рдЗрдВрдЬрди рд╣реИред рдореЗрд░реЗ рдореИрдХрдмреБрдХ рдкреНрд░реЛ рдпрд╛ рднрд╡рд┐рд╖реНрдп рдХреЗ рдЖрдИрдореИрдХ рдкреНрд░реЛ рдкрд░ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЬреАрдкреАрдпреВ рддреНрд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдХрдорд╛рд▓ рдХрд╛ рд╣реЛрдЧрд╛ред

Microsoft рдХреЗ рд▓рд┐рдП рдпрд╣ Apple рдХреЛ рддреЛрдбрд╝рдлреЛрдбрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ Google рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдбреЗрд╕реНрдХрдЯреЙрдк OS рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рдХреЗрд╡рд▓ рдЦреБрдж рдХреЛ рдиреБрдХрд╕рд╛рди рдкрд╣реБрдВрдЪрд╛ рд░рд╣реЗ рд╣реИрдВред

рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдХрд┐рд╕реА рдХреЛ рдореБрдЭрд╕реЗ рдЬреНрдпрд╛рджрд╛ рд╣реЛрд╢рд┐рдпрд╛рд░ рдореИрдХ рдУрдПрд╕ 10.13 рдХреЗ рдПрдордкреАрдПрд╕ - рдореЗрдЯрд▓ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рд╢реЗрдбреНрд╕ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдореЗрдВ рдмреЙрдХреНрд╕ рдХреЗ рдмрд╛рд╣рд░ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рд╛рдЗрдореЗрдЯрд┐рд╡ рдХреЗ рдПрдХ рдмрдбрд╝реЗ рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реИред рдпрд╣ рдореЛрдмрд╛рдЗрд▓ рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдЖрдИрдУрдПрд╕ рдФрд░ рдореИрдХреЛрдЬрд╝ рдЯреЗрдиреНрд╕рд░рдлреНрд▓реЛ рдЕрдиреБрдорд╛рди рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрд┐рдд, рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдЬреАрдкреАрдпреВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ (рд╡реЗ рдХреБрдЫ рднреА рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ) рдЖрдк рд╕реЗрдм рдЖрджрд┐рдо рдХреЗ рд╕рд╛рде рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди Tensorflow рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╢рд╛рдпрдж рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдореИрдВ рдРрдкреНрдкрд▓ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдПрдХ рд╡рд░рджрд╛рди рд╣реЛрдЧрд╛ред

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ Google рдЗрд╕реЗ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛, рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХреМрд╢рд▓ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдкреЛрд╕реНрдЯ рдХрд░рдирд╛ рддрд╛рдХрд┐ рд▓реЛрдЧ рдореБрдЭрд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рднрд╛рд╢рд╛рд▓реА рд╣реЛрдВ рдЬреЛ рдореИрдВ рдЗрд╕реЗ рд▓реЗ рд╕рдХрддрд╛ рд╣реВрдВред

:)

Apple рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХреЗрд╡рд▓ Apple рдбрд┐рд╡рд╛рдЗрд╕ рдмреЗрдЪрдирд╛ рд╣реИред Google рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп Google рдХреЛ рд╡реНрдпрд╛рдкрдХ рд╕реЗрд╡рд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рдПрдХ рдРрдкреНрдкрд▓ рд▓реИрдкрдЯреЙрдк рдХреА рддрд░рд╣ рдПрдХ рд╣реА рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рдПрдЖрдИ (рд▓рд░реНрдирд┐рдВрдЧ) рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реИрдВ, рддреЛ рдЖрдк "рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ" рдХреЗ рдмрдЬрд╛рдп "рд╕рддрд╣реА рд╕реАрдЦрдирд╛" рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдк рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рдХрд░рдирд╛ рдЫреЛрдбрд╝ рджреЗрдВред рдПрдХ рдПрдХрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдореЙрдбрд▓ рдореЗрдВ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░рд┐рдгрд╛рдо, рдПрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдмрд╣реБрдд-рд╕реЗ-рдорд▓реНрдЯреАрдХреЛрд░ рдлреЛрди рдореЗрдВ рднреА), GPU рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рд╕реАрдкреАрдпреВ рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред

рджреВрд╕рд░реА рдУрд░, рдпрджрд┐ рдЖрдк рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрдбрд╝реЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдЦрд┐рд▓рд╛ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдЖрдк рдмрд╣реБрдд рдмрдбрд╝реЗ рд╕рдорд╡рд░реНрддреА рдЧреНрд░рд╛рд╣рдХ рд╕рдореВрд╣реЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдЕрдиреБрдорд╛рди рдХреА рд╕реЗрд╡рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВ, рддреЛ GPU рдХреА рдмрд┐рд▓реНрдХреБрд▓ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрддрдиреЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдЗрд╕реЗ рдХрд░рдирд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рд░рдг рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рдмрд╕ рдЯреАрдкреАрдпреВ-рдкреЙрдбреНрд╕ рдХреА рднреМрддрд┐рдХ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рдпрд╣ рдПрдХ рд▓реИрдкрдЯреЙрдк рдХреЗ рдПрдВрдЯреАрдкреЛрдб рдореЗрдВ рд╣реИ (рдореЗрдореЛрд░реА-рдУрд╡рд░рд▓реЛрдбреЗрдб рдорд▓реНрдЯреА-рдХреЛрд░ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдХрдИ рдЬреАрдкреАрдпреВ, рдЗрдВрдЯрд░-рд╕рд░реНрд╡рд░ рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдСрдкреНрдЯрд┐рдХрд▓-рдлрд╛рдЗрдмрд░ рдХреЗ рд╕рд╛рде)ред

рдореЗрд░реЗ рдкрд╛рд╕ рдореИрдХрдмреБрдХ рдкреНрд░реЛ рд╣реИред рдХреНрд▓рд╛рдЙрдб рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЯрд░реНрдорд┐рдирд▓ рд╣реИ :-D

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдзрд╛рддреБ рдкрд░ рдЯреАрдПрдл рдЖрдИрдУрдПрд╕ рддрдХ рднреА рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЕрдЧрд░ рдХреЛрдИ рдЗрд╕реЗ рд▓реЗрдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд░рдЦрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдкрд╣рд▓реЗ рдИрдЬрд┐рди рдХреЛ рдзрд╛рддреБ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ (рдУрдкрдирд╕реАрдПрд▓ рдХреЛ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ)ред

@rogerpasky рд╕реНрдХреВрд▓ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП Tensorflow рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдерд╛, рди рдХрд┐ рдХреЗрд╡рд▓ рдПрдХ рдореЙрдбрд▓ рдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд▓рд┐рдПред рдФрд░ рдореБрдЭреЗ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рджреЛрд╣рд░рд╛рдирд╛ рд╣реЛрдЧрд╛ред рдореЗрд░реЗ рдЬреИрд╕реЗ рдЫрд╛рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП, рдмрд╣реБрдд рд╕рдордп рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, GPU рдкрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рдПрдХрд╛рдзрд┐рдХ рд╕рдорд╡рд░реНрддреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╕реЗрд╡рд╛ рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИред

@rogerpasky рдпрд╣ рдореИрдХ рдкрд░ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдореЙрдбрд▓ рдФрд░ рд╕рдорд╛рдзрд╛рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ

@rogerpasky рд╕рдореНрдорд╛рдирдкреВрд░реНрд╡рдХ рдЕрд╕рд╣рдордд рд╣реИрдВред рдЬрдмрдХрд┐ рдХреНрд▓рд╛рдЙрдб рдЖрдзрд╛рд░рд┐рдд рдорд▓реНрдЯреА-рдЬреАрдкреАрдпреВ рд╕рдорд╛рдзрд╛рди рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдореИрдВ рдкреЗрд╢реЗрд╡рд░ рд╡реАрдбрд┐рдпреЛ рдЙрддреНрдкрд╛рджрди рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬрд╣рд╛рдВ рдкреНрд░реЛ-рд░реЗрд╕ рдФрд░ рдЕрд╕рдореНрдкреАрдбрд┐рдд рдПрдЪрдбреА, 2 рдХреЗ, 4 рдХреЗ рдлреБрдЯреЗрдЬ рдХреЗ рдШрдВрдЯреЛрдВ рдФрд░ рдШрдВрдЯреЛрдВ рдкрд░ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЬреЛ рдП) рдХреЛрдИ рдкреНрд░реЛрдбрдХреНрд╢рди рд╣рд╛рдЙрд╕ рдирд╣реАрдВ рд╣реИ рдХреНрд▓рд╛рдЙрдб рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдмреА) рд╡реЗ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ Google рдпрд╛ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдЙрдирдХрд╛ рдбреЗрдЯрд╛ рд╣реЛ, рд╕реА) рдЙрдирдХреЗ рдкрд╛рд╕ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдорд▓реНрдЯреА рдЬреАрдкреАрдпреВ рд╕рдХреНрд╖рдо рд╕рд┐рд╕реНрдЯрдо (рдореИрдХ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ) рд╕реЗ рднрд░реЗ рдХрдорд░реЗ рд╣реИрдВ, рдЬрд┐рдирдХрд╛ рд╡реЗ рд▓рд╛рдн рдЙрдард╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдбреА) рдЬрдмрдХрд┐ рдПрдХ рдЫрд╡рд┐ рдкрд░ рдЕрдиреБрдорд╛рди рд╕реАрдкреАрдпреВ рдкрд░ рдареАрдХ рд╣реИ, рдХрдИ рдЧреНрд░рд╛рдл рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреБрдорд╛рди рдХреЗ рд▓рд┐рдП рдкреВрд░реА рдлрд┐рд▓реНрдореЗрдВ рдЪрд▓рд╛рдирд╛ 100% рдПрдордкреАрдПрд╕ рдмрдирд╛рдо рд╕реАрдкреАрдпреВ рдЬреИрд╕реЗ рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреВрд░реНрдгрддрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рджреЗрдЦрддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рд╕рдореБрджрд╛рдп рдиреЗ рдорд╛рдирдХреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди / рдЧрд▓реЗ рд▓рдЧрд╛рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХреЗрд╡рд▓ рдПрдирд╡реАрдбрд┐рдпрд╛ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрдмреВрддрд░ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реИред

рдпрд╣ рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдмреЗрдХрд╛рд░ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рд╣реИ рдЬреЛ рдПрдХ рд╢реМрдХрд╝реАрди рдЪрд▓ рд░рд╣реЗ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╣реИ - GPU рдХрд╛ рдЕрдиреБрдорд╛рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рд╢реНрд╡ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рд╡рд┐рд╡рд┐рдз рдХрд╛рд░реНрдпрднрд╛рд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╡рд┐рдз GPU / CPU рдкрд░рд┐рд╡рд╛рд░реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд░рд╣рд╛ рд╣реИред рдореБрдЭреЗ рд╡рд╛рдХрдИ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ Google рдЗрд╕реЗ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд▓реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЯреАрдПрдл рдЬреИрд╕реА рдПрдХрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рд░рд╣рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдХрд┐ рдХрдорд╛рд▓ рд╣реИред

рдореБрдЭреЗ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рд╢реЗрдЦреА рдмрдШрд╛рд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдмрд▓реНрдХрд┐ рд╕рдореБрджрд╛рдп рдХреЛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

@pldelisle , @tscholak , @vade рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдЧрд▓рдд рди рд╕рдордЭреЗрдВред рдореБрдЭреЗ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛, рдФрд░ рдпрджрд┐ рдЖрдк рдЗрд╕ рд╕реВрддреНрд░ рдореЗрдВ рдЦреЛрдЬрддреЗ рд╣реИрдВ рддреЛ рдореИрдВ рдПрдХ рд╕рдорд░реНрдердХ рдХреЗ рд░реВрдк рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реБрдЖ, рд▓реЗрдХрд┐рди рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореИрдВ рдЗрд╕рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдореИрдВ рдЙрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рд╣реВрдВ рдЬреЛ рдореИрдВрдиреЗ рд▓рд┐рдЦрд╛ рдерд╛, рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐ рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдП рд╣рдЬрд╛рд░реЛрдВ рд╡реАрдбрд┐рдпреЛ рдХреЗ рд╕рд╛рде рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рд╣реЛрдиреЗ рдкрд░ рдореИрдХрдмреБрдХ рдкрд┐рдШрд▓ рдЬрд╛рдПрдЧрд╛ :-рдбреА), рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрджреНрдпреЛрдЧ рддрдереНрдпреЛрдВ рдХреЗ рд╕рд╛рдеред рдЗрд╕реЗ рдХрдо рд╕рдордп рд╕реАрдорд╛ рдореЗрдВ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рди рдХрд░реЗрдВ (IMHO, рдЗрд╕реЗ рдХрднреА рднреА рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ Apple рдФрд░ Google iPhone/Android рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рдж рд╕реЗ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рдирдлрд░рдд рдХрд░рддреЗ рд╣реИрдВ)ред

@rogerpasky рдореИрдХ рдУрдПрд╕ рдкрд░ рдПрдирд╡реАрдбрд┐рдпрд╛ рдЬреАрдкреАрдпреВ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдкреЛрд░реНрдЯ рдерд╛ред рдЗрд╕реЗ 1.2 рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

Note: As of version 1.2, TensorFlow no longer provides GPU support on Mac OS X.

рдореИрдВрдиреЗ рдПрдХ рдИрдЬреАрдкреАрдпреВ (рд╕реЙрдиреЗрдЯ) рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдСрд░реНрдбрд░ рд░рджреНрдж рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдореЗрд░реЗ рдЧреЗрдорд┐рдВрдЧ рд░рд┐рдЧ рдкрд░ рд╕рд┐рд░реНрдл рдбреБрдЕрд▓ рдмреВрдЯ рд▓рд┐рдирдХреНрд╕ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛ рд░рд╣реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдмрдВрдж рдХрд░рдирд╛ рдПрдХ рддрд░рд╣ рд╕реЗ рдмреБрд░рд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ eGPU (рдореЙрдбрд▓ рдкреНрд░рд╢рд┐рдХреНрд╖рдг) рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдореИрдХ рдкрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛: https://github.com/lengstrom/fast-style-transfer

@rogerpasky Er, рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ CoreML рдХреЗрд░рд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯреЗрдВрд╕рд░ рдлреНрд▓реЛ рдореЙрдбрд▓ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ? Apple Google рд╕реЗ 'рдирдлрд░рдд' рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╡реНрдпрд╡рд╕рд╛рдп рд╡реНрдпрд╡рд╕рд╛рдп рд╣реИ, Apple рдХреЗ рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╕реИрдорд╕рдВрдЧ рд╣реИред рдЙрд╕рдореЗрдВ рдПрдХ рдкрд▓ рдХреЗ рд▓рд┐рдП рдкрдврд╝реЗрдВред Google, Apple, Samsung рд╡реНрдпрд╡рд╕рд╛рдп рд╣реИрдВ рдФрд░ рд╡рд╣реА рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдкреИрд╕рд╛ рдХрдорд╛рддреЗ рд╣реИрдВред рдЕрд▓рдЧ рдиреЛрдЯ рдХреЗ рд░реВрдк рдореЗрдВред рдореЗрд░рд╛ рдореИрдХрдмреБрдХ рдкреНрд░реЛ рд╣рдЬрд╛рд░реЛрдВ рдлрд┐рд▓реНрдореЛрдВ рдкрд░ рдЪрд▓ рд░рд╣реЗ рдЕрдиреБрдорд╛рди рд╕реЗ рдкрд┐рдШрд▓ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИ .. рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рд╕реАрдпреВрдбреАрдП рдПрдирд╡реАрдбрд┐рдпрд╛ рд╕реЗ рд╕рдорд░реНрдерди рдФрд░ рдирд┐рд░рдВрддрд░ рд╕рдорд░реНрдерди рдХреЛ рдЕрдкрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрдкрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдерд╛ рдФрд░ рдПрдПрдордбреА рд╕реЗ рдЫреВрдЯреЗ рд╣реБрдП рдЕрд╡рд╕рд░реЛрдВ рдиреЗ рд╣рдореЗрдВ рд╡рд╣ рд╕реНрдерд╛рди рджрд┐рдпрд╛ рдЬрд╣рд╛рдВ рд╣рдо рд╣реИрдВред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдирд╛рдкрд╛рдХ рд╣реИ, рдмрд╕ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреА рд▓рд╛рдЧрдд рдмрдирд╛рдо рдкреНрд░рджрд░реНрд╢рди рдбреЗрд▓реНрдЯрд╛ рдмрдирд╛рдо рдкрд╛рдареНрдпрдХреНрд░рдо рдореЗрдВ рд░рд╣рдиреЗ рдХреА рд▓рд╛рдЧрддред

рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкреНрд░рддрд┐рднрд╛ рд╕рд╛рде рдЖрдПрдЧреАред

рдореИрдВрдиреЗ OpenCL, Mac, iOS, CoreML, Vulkan, рдЖрджрд┐ рдЬреИрд╕реЗ рдирдП рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдЧрд╣рди рд╢рд┐рдХреНрд╖рд╛ рд▓рд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рд╣рдпреЛрдЧреА рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ Google рд╕рдореВрд╣ рдмрдирд╛рдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдХреГрдкрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ рдФрд░ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдиреЛрдЯ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВред рдорд╛рдорд▓рд╛ рдпрд╛ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд┐рд╕ рд╣рд┐рд╕реНрд╕реЗ рдкрд░ рдЖрдк рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдПрдордЖрдИрдУрдкреЗрди, рдХреЛрдбрдкреНрд▓реЗ рдХреЗ рдХрд╛рдо, рдЯреАрдПрдл-рдзрдирд┐рдпрд╛, рдФрд░ рдореЗрд░реА рдХрдВрдкрдиреА (рд╡рд░реНрдЯреЗрдХреНрд╕.рдПрдЖрдИ) рдореЗрдВ рдПрдХ рдЖрдВрддрд░рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рд╣рд┐рдд рдЯреАрдПрдл рдХреЛ рдЕрдзрд┐рдХ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рд▓рд╛рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓реЛрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдбрд╝реА рдореЗрд╣рдирдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рд╕рднреА рдкреНрд░рдпрд╛рд╕ рдирд┐рдХрдЯ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред

https://groups.google.com/forum/#!forum/deep -learning-everywhere

@benoitsteiner @hughperkins @cathalgarvey
@rogerpasky @vade @tscholak @pldelisle @adityaatluri @ chocol4te @justinrmiller

@justinrmiller рдореЗрд░реЗ рдкрд╛рд╕ рд╕рд┐рдПрд░рд╛ (рдПрдХ рд╕реЙрдиреЗрдЯ рд╕рдВрд▓рдЧреНрдирдХ рдореЗрдВ рдЯрд╛рдЗрдЯрди рдПрдХреНрд╕рдкреА) рдкрд░ рдПрдХ рдИрдЬреАрдкреАрдпреВ рд╣реИ рдЬреЛ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ 1.2.1 (рд╕реАрдпреВрдбреАрдП 8, рд╕реАрдпреВрдбреАрдПрдирдПрди 6) рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ, рдЬреЛ рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рдкрд░реЗрд╢рд╛рдиреА рдирд╣реАрдВ рдереА рдЕрдЧрд░ рдЖрдкрдХреЛ рдЦрд░реЛрдВрдЪ рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рджрд┐рдХреНрдХрдд рдирд╣реАрдВ рд╣реИред рдЕрдЧрд░ рдЖрдкрдХреЛ рдХреЛрдИ рдкрд░реЗрд╢рд╛рдиреА рд╣реИ рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред

tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:0) -> (device: 0, name: TITAN Xp, pci bus id: 0000:4f:00.0)

In [5]: tf.__version__
Out[5]: '1.2.1'

@ danbarnes333 рдпрд╣ рдХрдорд╛рд▓ рд╣реИ! рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

@ danbarnes333 cuDNN 6 рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ tf 1.2 рдХреИрд╕реЗ рдорд┐рд▓рд╛? рдХреНрдпрд╛ рдЖрдкрдиреЗ рдПрд▓рдПрд▓рд╡реАрдПрдо рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдерд╛? рдЬреАрд╕реАрд╕реА? рдореИрдВ рдХреЗрд╡рд▓ рдЗрд╕реЗ cuDNN 5 рдХреЗ рд╕рд╛рде рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ ...

рдПрдлрд╡рд╛рдИрдЖрдИ, https://machinelearning.apple.com/

@tscholak рдореИрдВ рдЗрд╕реЗ OpenCL рдкрд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдкреЛрд╕реНрдЯ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рдЪрд░рдгреЛрдВ рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛ред

@choongng рдореИрдВ Google рд╕рдореВрд╣ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рдЧрдпрд╛ рд▓реЗрдХрд┐рди рдпрд╣ рд╢рд╛рдВрдд рдкреНрд░рддреАрдд рд╣реЛ рд░рд╣рд╛ рд╣реИред рддреЛ рдореИрдВ рдпрд╣рд╛рдБ рд╢реЗрдЦрд╝реА рдХрд░реВрдБрдЧрд╛ ;-)

  1. рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ / рд╣рд╛рдИ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ / рдЬреАрдкреАрдпреВ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдПрдХ рдмреЗрд╣рдж рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдмрд╛рдЬрд╛рд░ рд╣реИред рдПрдирд╡реАрдбрд┐рдпрд╛, рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░реЗрдВ рдпрд╛ рдирд╣реАрдВ, рдмрд╛рдЬрд╛рд░ рдкрд░ рд╣рд╛рд╡реА рд╣реИ рдФрд░ рдЕрдкрдиреЗ рдХрд╛рд░реНрдб рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЛ рдмрдирд┐рдпрд╛рди рдХреЗ рдкрд╛рд╕ рд░рдЦрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрдЬрдЯ рдФрд░ рд╕рдордп рд╕реАрдорд╛ рд╣реИ, рддреЛ рдЖрдк рдЕрднреА рдХреЗ рд▓рд┐рдП рдПрдирд╡реАрдбрд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдХрдореЛрдмреЗрд╢ рдЕрдЯрдХреЗ рд╣реБрдП рд╣реИрдВред

  2. рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдкреБрд░рд╛рдирд╛-рдИрд╢ рдПрдПрдордбреА рдХрд╛рд░реНрдб ("рдмреЛрдиреЗрдпрд░") рдФрд░ рд╢реВрдиреНрдп рдмрдЬрдЯ - рд╢реМрдХрд╝реАрди рд╣реИред рдореБрдЭреЗ рдХрд▓ рдХреА рддрд░рд╣ рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдорд╛рд▓рд┐рдХрд╛рдирд╛ AMD OpenCL 2 рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде caffe рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдЕрднреА-рдЕрднреА AMD рдХрд╛ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд MIOpen рдорд┐рд▓рд╛ рд╣реИ рдЬреЛ рдЖрдЬ рд╕реБрдмрд╣ рдЙрд╕реА рддрд░рд╣ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рд╡рд╣ рдореБрдЭреЗ рдХреБрдЫ рдореЙрдбрд▓реЛрдВ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рджреЗрдЧрд╛; рдмреЛрдиреЗрдпрд░ рд▓рдЧрднрдЧ 1800 GFLOPS рдПрдХрд▓-рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рд╢рд┐рдЦрд░ рдкрд░ рд╣реИред рддреЛ рдЕрдЧрд░ TensorFlow Bonaire рдкрд░ OpenCL рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛ рддреЛ рдореИрдВ TensorFlow рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред

  3. рдпрджрд┐ рдХреЛрдИ рдмрдЬрдЯ рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рдкреНрд░рдХрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддреЛ рдореИрдВ рдПрдХ рдЗрдВрдЯреЗрд▓ рд╕реАрдкреАрдпреВ рдФрд░ рдПрдХ рдПрдирд╡реАрдбрд┐рдпрд╛ рдХрд╛рд░реНрдб рдЦрд░реАрджреВрдВрдЧрд╛ рдФрд░ рд╡рд┐рдХреНрд░реЗрддрд╛-рд╕рдорд░реНрдерд┐рдд рдорд╛рд▓рд┐рдХрд╛рдирд╛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЪрд▓рд╛рдКрдВрдЧрд╛ред рдореИрдВ Google, Red Hat, Canonical рдФрд░ AMD рдЬреИрд╕реЗ рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрд╡реИрддрдирд┐рдХ QA рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

    рддреАрди рд╕рд╛рд▓ рд╕реЗ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ GPU рд╕реЗ рдХреБрдЫ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдореБрдЭреЗ рддреАрди рдорд╣реАрдиреЗ (рдФрд░ рддреАрди рдбрд┐рд╕реНрдЯреНрд░реЛрд╕ - рдлреЗрдбреЛрд░рд╛ 25, рдЙрдмрдВрдЯреВ 16.04 рдПрд▓рдЯреАрдПрд╕ рдФрд░ рдЖрд░реНрдХ) рд▓рдЧреЗ рд╣реИрдВред рдлреЗрдбреЛрд░рд╛ рдХреЗ рдмрдЧ рдЯреНрд░реИрдХрд░ рдореЗрдВ рдореЗрд░реЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдЕрдирдлрд┐рдХреНрд╕ рдмрдЧ рд╣реИрдВред рд╡рд╣реА Ubuntu рдФрд░ Freedesktop.org рдХреЗ рд▓рд┐рдП рдЬрд╛рддрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдареАрдХ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╛ рддреЛ рднреБрдЧрддрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдХреБрдЫ рдФрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

    рд╣рд╛рдВ, рдПрдПрдордбреА рдХреЗ рдирдП рд╕реАрдкреАрдпреВ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рд╣реИрдВ, рдФрд░ рд╣рд╛рдВ, рдЙрдирдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдУрдкрди рд╕реЛрд░реНрд╕ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрдЬрдЯ рдФрд░ рд╕рдордп рд╕реАрдорд╛ рдЪреАрдЬреЛрдВ рдХреЛ рдмрджрд▓ рджреЗрддреА рд╣реИред рд╕рдорд░реНрдерди рдХреБрдВрдЬреА рд╣реИред рд╕рдорд░реНрдерди рд╣реА рд╕рдм рдХреБрдЫ рд╣реИ!

@znmeb рдореБрдЭреЗ рдпрд╣ рднреА рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдЖрдк TF рдХреЗ рд▓рд┐рдП рдкреНрд░реА-рдЬреАрд╕реАрдПрди рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореЗрд░реА рддрд╛рд╣рд┐рддреА рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдПрдХ рдбрд┐рд╕реНрдЯреНрд░реЛ (рдЙрдмрдВрдЯреВ 14.01.x) рдХреЛ рдлреЗрдВрдХрдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдПрдордбреА рдорд╛рд▓рд┐рдХрд╛рдирд╛ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗрд╡рд▓ рдЬреАрд╕реАрдПрди 1 рдХреЗ рд▓рд┐рдП рдкреБрд░рд╛рдиреЗ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред (рдореБрдЭреЗ рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯреАрдПрдл + рдУрдкрдирд╕реАрдПрд▓ рдорд┐рд▓рддрд╛ рд╣реИ (7970 рдкрд░ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛))

рдЬрд╣рд╛рдВ рдореИрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ рд╡рд╣рд╛рдВ рдкреВрд░рд╛ рдЖрд░ рдПрдВрдб рдбреА рд╡рд┐рднрд╛рдЧ рдЧреНрд░реАрди рдЯреАрдо рдЪрд▓рд╛рддрд╛ рд╣реИред рдЙрди рд╕рднреА рдХреЗ рдкрд╛рд╕ PHD рдФрд░ рд╕рднреА рд╣реИрдВ рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдиреЗ рднреА cuda (рди рд╣реА OCL) рдХреА рдПрдХ рднреА рдкрдВрдХреНрддрд┐ рдирд╣реАрдВ рд▓рд┐рдЦреА рд╣реИред рд▓реЗрдХрд┐рди рдЯреВрд▓реАрдВрдЧ рдпрд╣рд╛рдВ рдЙрдирдХреЗ Keras рдХрд╛рд░реНрдпрднрд╛рд░ рдореЗрдВ рддреЗрдЬреА рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред рдореИрдВ рдЕрдкрдиреЗ рдкреБрдирд░реНрдирд╡реАрдиреАрдХрд░рдг рдЦрдирди рдЬреАрдкреАрдпреВ рдХреЗ рд╕рд╛рде рдПрдХ рджреВрд╕рд░реЗ рдЬреАрд╡рди рдХреЛ рдирд┐рдЪреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдПрдХ рдЕрдЬреАрдм рддрд░рд╣ рдХрд╛ рд╣реВрдВред

tl; dr рдЧреНрд░реАрди рдЯреАрдо рд╕рдкреЛрд░реНрдЯ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЗрд╡рд▓ рддрднреА рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдЬрдм AMD GPU рдорд╛рд░реНрдХреЗрдЯ рд╢реЗрдпрд░ рджрд┐рдЦрд╛рдИ рджреЗред
рдпрд╣ рдЪрд┐рдХрди рдФрд░ рдЕрдВрдбреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдореБрдЭреЗ рд╡реЗрдЧрд╛ рдХреЗ рд▓рд┐рдП рдЖрд╢рд╛ рд╣реИ ... рд▓реЗрдХрд┐рди рд╣рд╛рдБ ... рдХреЛрдИ 1080Ti рд╣рддреНрдпрд╛рд░рд╛ рдирд╣реАрдВ рд╣реИред

@acoye FWIW рдпрд╣рд╛рдБ GitHub рдкреЛрд╕реНрдЯ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдЕрдкреНрд░реИрд▓ рд╕реЗ рдереНрд░реИрд╢рд┐рдВрдЧ рдФрд░ Googling рдХреЗ рдмрд╛рдж рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЬрд╛ рд░рд╣реА рд╣реИ: https://github.com/BVLC/caffe/issues/5804#issuecomment-318789942 ред https://github.com/cdeterman/gpuR/issues/77#issuecomment-318814154 рднреА рджреЗрдЦреЗрдВред рд╡рд╣ рдореЗрд░рд╛ рдореВрд▓ рдореБрджреНрджрд╛ рдерд╛ - рдЖрд░ рдкрд░ рд░реИрдЦрд┐рдХ рдмреАрдЬрдЧрдгрд┐рдд рдореЗрдВ рддреЗрдЬреА рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдмреЛрдиреЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ред

@acoye
рдЖрдк рдирд╡реАрдирддрдо рд▓рд┐рдирдХреНрд╕ рдбрд┐рд╕реНрдЯреНрд░реЛрд╕ рдкрд░ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдПрдордбреАрдЬреАрдкреАрдпреВ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рд╕рд╛рде 4.11/4.12 рдЬреИрд╕реЗ рд╣рд╛рд▓ рдХреЗ рдХрд╕реНрдЯрдо рд╕рдВрдХрд▓рд┐рдд рдХрд░реНрдиреЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд░реЗрдбрд┐рдпрди рдЕрдХреНрд╖рдо рдФрд░ CONFIG_DRM_AMDGPU_SI=Y рдФрд░/рдпрд╛ CONFIG_DRM_AMDGPU_CIK=Y рдХрд░реНрдиреЗрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде, рд╕рд╛рде рд╣реА initramfs рдореЗрдВ 7970 (рддрд╛рд╣рд┐рддреА) рдХреЗ рд▓рд┐рдП AMD рдлрд░реНрдорд╡реЗрдпрд░ => рдирд╡реАрдирддрдо AMDGPU-PRO OpenCL рдХрд┐рд╕реА рднреА GCN рдХрд╛рд░реНрдб рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред RADEON рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ FGLRX (рдкреБрд░рд╛рдиреЗ рд▓рд┐рдирдХреНрд╕ рдбрд┐рд╕реНрдЯреНрд░реЛрд╕ рдкрд░) рдФрд░ рдХреНрд▓реЛрд╡рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЬрд╛рдУ, рджреЛрдиреЛрдВ рдЙрдк-рдмрд░рд╛рдмрд░ рд╣реИрдВред
рдкреНрд░реА-рдЬреАрд╕реАрдПрди рдХрд╛рд░реНрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рднреВрд▓ рдЬрд╛рдЗрдПред рдореИрдВрдиреЗ рдХреИрдл рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдУрдкрдирд╕реАрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдирдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛, рдкреНрд░рджрд░реНрд╢рди рдРрд╕реЗ рдкреБрд░рд╛рдиреЗ рдХрд╛рд░реНрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ 2012 рдХреЗ рдмрд╛рдж рдХреЗ рд╕рднреА AMD рдХрд╛рд░реНрдб рд╡реИрд╕реЗ рднреА GCN рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред

@ naibaf7 рдореИрдВрдиреЗ рдПрдПрдордбреА рдХреЗ рдУрдкрди рд╕реЛрд░реНрд╕ рд╕реНрдЯреИрдХ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рдХрд▓ рдХреБрдЫ рдШрдВрдЯреЗ рдмрд┐рддрд╛рдПред рдореБрдЭреЗ MIOpen рдФрд░ рдЗрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдорд┐рд▓реАрдВ рд▓реЗрдХрд┐рди hcc рдореЗрдВ рдЕрднреА рднреА рдХреБрдЫ рдмрд┐рдЯреНрд╕ рдЧрд╛рдпрдм рд╣реИрдВред рдореБрдЭреЗ рд╕рдм рдХреБрдЫ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╕реНрдЯрдо рдХрд░реНрдиреЗрд▓ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдореБрдЭреЗ рд╕реАрдпреВрдбреАрдП рдХреЛрдб рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдпрд╛ рдЬреАрдкреАрдпреВ рдкрд░ рд╕рдВрдХрд▓рд┐рдд рд╕реА ++ рдЪрд▓рд╛рдиреЗ рдХреА рдЬреНрдпрд╛рджрд╛ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ - рдореИрдВ рдЗрд╕ рдкрд░ рдирдВрдмрд░ рдХреНрд░рдВрдЪрд┐рдВрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред ;-)

рдореИрдВрдиреЗ рдЕрд╕реЗрдВрдмрд▓рд░ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрдирдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдХреБрдЫ рднреА рджреЗрдЦрд╛ - рдЬрд┐рд╕рдореЗрдВ рдореБрдЭреЗ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛ рд╕рдХрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрд╕реЗрдВрдмрд▓рд░ рд╕реЗ рдЖрдЧреЗ рдЬрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИред ;-)

@znmeb рд╣рд╛рдБ, рдореИрдВ рдЕрдкрдиреЗ RX 480 рдкрд░ рдХреБрдЫ MIOpen рдФрд░ TensorFlow рд╕рд╛рдорд╛рди рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрдкрдиреЗ рдореБрдЦреНрдп рд╡рд┐рдХрд╛рд╕ рд░рд┐рдЧ рдХреЛ рдирд╖реНрдЯ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореИрдВ IOMMU рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдПрдХ Ubuntu 16.04 рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ RX 480ред AMD рдбреНрд░рд╛рдЗрд╡рд░ рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдиреБрдХреВрд▓ рд╣реИрдВ (рдЧреЗрдорд┐рдВрдЧ рдХрд╛рд░реНрдб рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рдЧрдП nVidia рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд - рдХреЗрд╡рд▓ рдХреНрд╡рд╛рдбреНрд░реЛ рдбреНрд░рд╛рдЗрд╡рд░ рдХрд░рддреЗ рд╣реИрдВ)ред

@znmeb рдЖрдкрдХреЛ рдмрд╕ рдЗрддрдирд╛ рдХрд░рдирд╛ рд╣реИ sudo apt-get install rocm miopen-hip

@adityaatluri рдпрд╣ рдЖрд░реНрдХ рдпреВрдЬрд░ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдореЗрдВ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдЗрдВрд╕реНрдЯреЙрд▓ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ - рдпрд╣ рдЧрд┐рдЯрд╣рдм рд╕реНрд░реЛрдд рд╕реЗ рднреА рдЗрдВрд╕реНрдЯреЙрд▓ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдХреБрдЫ рдЖрд╕рд╛рди рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ - рдЗрд╕реЗ рдХреБрдЫ рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИред

@znmeb рдХреНрдпрд╛ рдЖрдк рдпрд╣рд╛рдВ рдПрдХ рдореБрджреНрджрд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ (https://github.com/RadeonOpenCompute/ROCm/issues) рддрд╛рдХрд┐ рд╣рдо рд╡рд╣рд╛рдВ рдЪрд░реНрдЪрд╛ рдХрд░ рд╕рдХреЗрдВ? рдзрдиреНрдпрд╡рд╛рдж!

@adityaatluri рдЬрд╝рд░реВрд░ - рдореИрдВ рд░рд╛рдд рдХреЗ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛ рд░рд╣рд╛ рд╣реВрдБ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рд╡рд╛рдкрд╕ рдЖрдКрдБрдЧрд╛ рддреЛ рдЗрд╕реЗ рдлрд╛рдЗрд▓ рдХрд░реВрдБрдЧрд╛

@ebrevdo рдПрдПрдордбреА рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╕рд╛рде рдореИрдХ рдореЗрдВ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рдЬреАрдкреАрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛?

рдореЗрд░реА рдХрдВрдкрдиреА рдХреБрдЫ рд╕рдордп рд╕реЗ рдУрдкрдирд╕реАрдПрд▓ рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╢реБрд░реБрдЖрддреА рдкрд░рд┐рдгрд╛рдо рд╣реИрдВред рд╣рдо рдирд┐рдХрдЯ рдЕрд╡рдзрд┐ рдореЗрдВ рдХреЗрд░рд╕ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдордиреЗ (рдмрд╣реБрдд) рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ TensorFlow рд╕рдорд░реНрдерди рднреА рдмрдирд╛рдпрд╛ рд╣реИ рдФрд░ рд╣рдорд╛рд░реА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд░рд┐рд▓реАрдЬ рдХреЗ рдмрд╛рдж рдЙрд╕ рдкрд░ рдлрд┐рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред рдПрдПрдордбреА рдкрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдереНрд░реВрдкреБрдЯ рд╕рдВрдЦреНрдпрд╛ рд╕рд╣рд┐рдд рдпрд╣рд╛рдВ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг: http://vertex.ai/blog/bringing-deep-learning-to-opencl

рдардВрдбрд╛!

рдЯрд┐рдиреА рдирд╛рдЗрдЯрдкрд┐рдХ: AFAIK, MIOpen AMD-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ OpenCL рдХреЗ рд╕рд╛рде-рд╕рд╛рде ROCm рд╕реЗ рднреА рдЬреБрдбрд╝ рд╕рдХрддрд╛ рд╣реИред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рд╢рд╛рдпрдж рддреЗрдЬ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА; MIOpen "GPU рдкрд░ рдУрдкрди рд╕реЛрд░реНрд╕ рдиреНрдпреВрд░рд▓ рдиреЗрдЯрд╡рд░реНрдХреНрд╕" shtick рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝рд╛ рдХрджрдо рд╣реИ, рдФрд░ рдЕрдЧрд░ рдпрд╣ OpenCL рдкрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рддреЛ AMD рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╢реНрд░реЗрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред

рдЕрдЧрд╕реНрдд 14, 2017 5:19 рдЕрдкрд░рд╛рд╣реНрди, "рдЪреВрдВрдЧ рдПрдирдЬреА" рдиреЗ рд▓рд┐рдЦрд╛:
рдореЗрд░реА рдХрдВрдкрдиреА рдХреБрдЫ рд╕рдордп рд╕реЗ рдУрдкрдирд╕реАрдПрд▓ рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╢реБрд░реБрдЖрддреА рдкрд░рд┐рдгрд╛рдо рд╣реИрдВред рд╣рдо рдирд┐рдХрдЯ рдЕрд╡рдзрд┐ рдореЗрдВ рдХреЗрд░рд╕ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдордиреЗ (рдмрд╣реБрдд) рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ TensorFlow рд╕рдорд░реНрдерди рднреА рдмрдирд╛рдпрд╛ рд╣реИ рдФрд░ рд╣рдорд╛рд░реА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд░рд┐рд▓реАрдЬ рдХреЗ рдмрд╛рдж рдЙрд╕ рдкрд░ рдлрд┐рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред рдПрдПрдордбреА рдкрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдереНрд░реВрдкреБрдЯ рд╕рдВрдЦреНрдпрд╛ рд╕рд╣рд┐рдд рдпрд╣рд╛рдВ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг: http://vertex.ai/blog/bringing-deep-learning-to-opencl (http://vertex.ai/blog/bringing-deep-learning-to-opencl)

тАФ

рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub (https://github.com/tensorflow/tensorflow/issues/22#issuecomment-322235416) рдкрд░ рджреЗрдЦреЗрдВ, рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ (https://github.com/notifications/unsubscribe-auth /ABHR3VYHXFDEX0gPHTGLSbFeHjPfEfsXks5sYHOGgaJpZM4Gex3i)ред

@cathalgarvey рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВрдиреЗ MIOpen рдкреНрд░рд▓реЗрдЦрди (https://rocmsoftwareplatform.github.io/MIOpen/doc/html/install.html#prequires) рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгреА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХреЛрдИ рд╣реИ рддреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА рдмреЗрд╣рддрд░ рд▓рд┐рдВрдХред

рд░реБрдХреЛ, рдореИрдВ рдЗрд╕ рдзрд╛рдЧреЗ/рдореБрджреНрджреЗ рдХреЛ 10 рдорд┐рдирдЯ рд╕реЗ рдкрдврд╝ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рдЖрдзрд╛ рд╣реЛ рдЧрдпрд╛ рдФрд░ рдореИрдВ рдмрд╛рдХреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред рдХреНрдпрд╛ AMD GPU рдЕрднреА рддрдХ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ?

рдПрдХ рдмрд╛рд░реАрдХ рдмрдВрдж рд╕реНрд░реЛрдд рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬреЛ рдХреЗрд╡рд▓ рдХрд░реНрдиреЗрд▓/рдУрдПрд╕ (рдХреЛрдбрдкреНрд▓реЗ) рдХреЗ рдПрдХ рдмрд╣реБрдд рдкреБрд░рд╛рдиреЗ рд╕рдВрдпреЛрдЬрди рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рд╣рд╛рдБ

рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдФрд░ рдЕрднреА рддрдХ рдХреБрдЫ рдЧреИрд░-рд░реЗрдЦреАрдпрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЗ рдмрд┐рдирд╛ (tf-рдзрдирд┐рдпрд╛): рд╣рд╛рдБред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ: рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдирд╣реАрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдПрдордбреА рдПрдЪрдЖрдИрдкреА рдХреЛ рдкреЛрд░реНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ 3 рдорд╣реАрдиреЗ рдпрд╛ рдЙрд╕рд╕реЗ рднреА рдХрдо рд╕рдордп рдореЗрдВ рдкреНрд░рдЧрддрд┐ рдХреА рдЙрдореНрдореАрдж рд╣реИред рдЕрдиреНрдп рдврд╛рдВрдЪреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдирдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдХрд╛рд░рдг рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред

18 рдЕрдЧрд╕реНрдд 2017 рдХреЛ 02:09:55 GMT+01:00, abrad1212 [email protected] рдиреЗ рд▓рд┐рдЦрд╛:

рд░реБрдХреЛ, рдореИрдВ рдЗрд╕ рдзрд╛рдЧреЗ/рдореБрджреНрджреЗ рдХреЛ 10 рдорд┐рдирдЯ рд╕реЗ рдкрдврд╝ рд░рд╣рд╛ рд╣реВрдВред рдореБрдЭреЗ рдЖрдзрд╛ рдорд┐рд▓ рдЧрдпрд╛
рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдФрд░ рдореИрдВ рдмрд╛рдХреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред рдХреНрдпрд╛ AMD GPU рдЕрднреА рддрдХ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ?

--
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ:
https://github.com/tensorflow/tensorflow/issues/22#issuecomment -323233294

--
K-9 рдореЗрд▓ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ Android рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рднреЗрдЬрд╛ рдЧрдпрд╛ред рдореЗрд░реЗ рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЛ рдорд╛рдлрд╝ рдХрд░реЛред

FWIW рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ PyGpu рдХреЗ рд╣рд╛рд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг CUDA рдпрд╛ OpenCL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореЗрд░реЗ рдкрд╛рд╕ рдореЗрд░реЗ рдЖрд░реНрдХ рдмреЙрдХреНрд╕ рдкрд░ рд╕рднреА рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред

@ abrad1212 рд╣рд╛рдБ, рдпрд╣ рдореБрджреНрджрд╛ рдХреБрдЫ рд╕рдордп рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдкреНрд░рдпрд╛рд╕ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд╣реИ рдФрд░ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ "рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ" рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдХрд┐ @cathalgarvey рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИред

рд╣рдорд╛рд░реА рддрд░рдл рд╕реЗ рдереЛрдбрд╝рд╛ рд╕рд╛ рдЕрдкрдбреЗрдЯред рдЖрдкрдХреЛ Ubuntu 16.04 рдХреЗ рд▓рд┐рдП AMDGPU-pro рдбреНрд░рд╛рдЗрд╡рд░ рд╕реНрдЯреИрдХ рдкрд░ ComputeCpp 0.3.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдирд┐рд░реНрджреЗрд╢ рдпрд╣рд╛рдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ: http://deep-beta.co.uk/tensorflow-1-3-on-ubuntu-16 -04-рдПрд▓рдЯреА/

рд╕рд╛рде рд╣реА, рд╣рдо рдЕрдм рд╡рд┐рднрд┐рдиреНрди рдореЙрдбрд▓реЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рд╣реИ рд▓реЗрдХрд┐рди рд╣рдо рд╡рд╣рд╛рдВ рдкрд╣реБрдВрдЪ рд░рд╣реЗ рд╣реИрдВред

@lukeiwanski рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреНрдпрд╛ рд╣реИ? рд╣рдо рдХреЗрд░рд╕ рдХреЗ рд╕рд╛рде рд╢рд╛рдорд┐рд▓ рдореЙрдбрд▓реЛрдВ рдХреЛ рд╕рдордп рджреЗрддреЗ рд╣реИрдВ рдФрд░ TF+cuDNN+K80 рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИред рд╣рдорд╛рд░реА рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рдореИрдХреНрд╕ рд╡реВрд▓реНрдл (http://minimaxir.com/2017/06/keras-cntk/) рдХреЗ рд╕рдорд╛рди рд╣реИ, рдпрд╣ рдЬреНрдпрд╛рджрд╛ рдХреЛрдб рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЗрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣рдорд╛рд░реА рд╡реЗрдм рд╕рд╛рдЗрдЯ (http://vertex.ai) рдкрд░ рдХреБрдЫ рдереНрд░реВрдкреБрдЯ рдирдВрдмрд░ рд╣реИрдВ, рд╣рдорд╛рд░рд╛ рдХреЛрдб рдПрдХреНрд╕рд╕реЗрдкреНрд╢рди рдЕрдиреБрдорд╛рди рдкрд░ рдЯреАрдПрдл 1.2 рд╕реЗ рдмрд╣реБрдд рддреЗрдЬ рд╣реИ рдФрд░ рд╕рд╛рде-рд╕рд╛рде рдЕрдзрд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред

рдХреНрдпрд╛ рдХреЛрдИ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ? рдореИрдВ рдЕрдкрдиреЗ рдкреАрд╕реА рдкрд░ рдЙрдмрдВрдЯреВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реВрдВрдЧрд╛ рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИред

рдЙрдмрдВрдЯреВ 14.04
рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛
рдУрдкрдирд╕реАрдПрд▓ рд╕рдорд░реНрдерди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ, рдФрд░ рдХреЗрд╡рд▓ рдУрдкрдирдХреНрд▓ рдЗрдВрдЯреЗрд▓ рд╕реАрдкреАрдпреВ рд░рдирдЯрд╛рдЗрдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
рдЕрдЬрдЧрд░2.7
https://developer.codeplay.com/computecppce/latest/getting-started-with-tensflow рдЧрд╛рдЗрдб рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ
рдЕрдЬрдЧрд░ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ classify_image.py
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ opencl рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдХреЙрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ред (рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдУрдкрдирд╕реАрдПрд▓ рдЖрдИрд╕реАрдбреА рд░реИрдкрд░ рдЬреЛрдбрд╝рд╛, рдХреБрдЫ рднреА рдирд╣реАрдВ рджреЗрдЦрд╛)
рдХреНрдпрд╛ рдкрд╛рдЗрдерди рдХреЛрдб рдореЗрдВ рдХреЛрдИ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
рдЬреИрд╕реЗ sess.graph.device('/cpu0')

рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВ Eigen skcl рдЧрд╛рдЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдУрдкрдирд╕реАрдПрд▓ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╕реАрдкреАрдпреВ рдкрд░ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред (рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдпрд╣ рдЧрд╛рдЗрдб рдХреЛрдб рдереЛрдбрд╝рд╛ рдкреБрд░рд╛рдирд╛ рд╣реИ, рдХреБрдЫ рд╕рдВрд╢реЛрдзрди рдХреА рдЬрд░реВрд░рдд рд╣реИ)
https://developer.codeplay.com/computecppce/latest/getting-started-with-eigen

рдХреЛрдИ рднреА рд╡реНрдпрдХреНрддрд┐ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдУрдкрдирд╕реАрдПрд▓ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рдкрд╛рдпрдерди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рднреА рдХреИрд╕реЗ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред

рдФрд░ рдЗрд╕ рдСрдкреНрдЯ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдмрд╛рдЗрдирд░реА рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред --config=sycl
рдмрд╕ рдЗрд╕ рдХрдорд╛рдВрдб рдореЗрдВ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдмрдирд╛рдПрдБ:
рдмреЗрдЬрд╝реЗрд▓ рдмрд┐рд▓реНрдб-рд╕реА рдСрдкреНрдЯ /рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ/рдЯреВрд▓реНрд╕/рдкрд╛рдЗрдк_ рдкреИрдХреЗрдЬ:рдмрд┐рд▓реНрдб_рдкрд┐рдк_рдкреИрдХреЗрдЬ

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рднреВрд▓ рдЬрд╛рдКрдВ --config=sycl
рдореИрдВ рдХрдорд╛рдВрдб рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдУрдкрдирд╕реАрдПрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдпрд╣рд╛рдВ рдкреЛрд╕реНрдЯ рдХрд░реВрдВрдЧрд╛ред
рдмреЗрдЬрд╝рд▓ рдмрд┐рд▓реНрдб-рд╕реА рдСрдкреНрдЯ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ/рдЯреВрд▓реНрд╕/рдкрд╛рдЗрдк_ рдкреИрдХреЗрдЬ:рдмрд┐рд▓реНрдб_рдкрд┐рдк_рдкреИрдХреЗрдЬ

@ joe8086 рдпрджрд┐ рдЖрдк рдиреАрдЪреЗ рдХреЗ рд╕рд╛рде tf.Session рдирд┐рд░реНрдорд╛рдг рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдПрдХ рд▓реЙрдЧ рджрд┐рдЦрд╛рдПрдЧрд╛, рдХреНрдпрд╛ рдпрд╣ рдХрд╣реАрдВ рднреА SYCL рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд░рд╣рд╛ рд╣реИ?
tf.Session(config=tf.ConfigProto(log_device_placement=True))

рдИрдЬрд┐рди рдЧрд╛рдЗрдб рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдпрд╣ рдкреБрд░рд╛рдирд╛ рд╣реИ?

@rodburns рдзрдиреНрдпрд╡рд╛рджред
рдореЗрд░реА рдЧрд▓рддреА рд╣реИ рдмрд┐рд▓реНрдб рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдорд┐рд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧ рд╡рд┐рдХрд▓реНрдк --config=sycl
рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЗрд╕ рд╢рд╛рдЦрд╛ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж https://github.com/lukeiwanski/tensorflow.git
рдореИрдВ рдУрдкрдирд╕реАрдПрд▓ рдмреИрдХрдПрдВрдб рдХреЗ рд╕рд╛рде рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рд░рди рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВред

Eigen рдЧрд╛рдЗрдб рдХреЗ рд▓рд┐рдП, рдореБрдЦреНрдп рддреНрд░реБрдЯрд┐ рдпрд╣рд╛рдВ рд╣реИ:
1, рд╕рд╣реА рдлрд╝рд╛рдЗрд▓ рд╢рд╛рдорд┐рд▓ рди рдХрд░реЗрдВред
2, рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП, Tensor, TensorMap рд╕рд╣реА рдЯреЗрдВрдкрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред
3, static_cast рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рди рджреЗрдВред

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рд╢рд╛рдпрдж рдЗрд╕ рдЪрд░реНрдЪрд╛ рд╡рд┐рд╖рдп рдХреЛ рдХреБрдЫ рдорджрдж рджреЗрдВред
1, рдореБрдЦреНрдп рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ --config=sycl рд╕рд╣реА рдХреЗ рд╕рд╛рде рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддрд╛ред
2, рд╕реАрдкреАрдпреВ рдУрдкрдирд╕реАрдПрд▓ рдХреЗ рд╕рд╛рде, рдореЗрд░реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд╕реАрдкреАрдпреВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЧрддрд┐ рд▓рдЧрднрдЧ 4x ~ 8x рдЧреБрдирд╛ рдЦрд░реНрдЪ рд╣реЛрддреА рд╣реИред

рд╕рдордп рдЕрдЬрдЧрд░ classify_image.py
2017-09-07 16:56:29.076054: I tensorflow/core/platform/cpu_feature_guard.cc:137] рдЖрдкрдХрд╛ CPU рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ TensorFlow рдмрд╛рдЗрдирд░реА рдХреЛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: SSE4.1 SSE4.2 AVX
2017-09-07 16:56:29.077967: W ./tensorflow/core/common_runtime/sycl/sycl_device.h:49] рдХреЛрдИ OpenCL GPU рдирд╣реАрдВ рдорд┐рд▓рд╛ рдЬреЛ OpenCL CPU рдХреЛ рдЖрдЬрд╝рдорд╛рддреЗ рд╣реБрдП ComputeCpp рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реЛ
2017-09-07 16:56:29.159775: I ./tensorflow/core/common_runtime/sycl/sycl_device.h:66] рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд OpenCL рдбрд┐рд╡рд╛рдЗрд╕ рдорд┐рд▓реЗ:
2017-09-07 16:56:29.159825: I ./tensorflow/core/common_runtime/sycl/sycl_device.h:68] рдЖрдИрдбреА: 0, рдкреНрд░рдХрд╛рд░: CPU, рдирд╛рдо: Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz, рд╡рд┐рдХреНрд░реЗрддрд╛: Intel(R) Corporation, рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓: FULL_PROFILE
2017-09-07 16:56: 30.213375: W ./tensorflow/core/framework/op_def_util.cc:333] Op BatchNormWithGlobalNormalization рдмрд╣рд┐рд╖реНрдХреГрдд рд╣реИред рдпрд╣ GraphDef рд╕рдВрд╕реНрдХрд░рдг 9 рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛ред tf.nn.batch_normalization() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рд╡рд┐рд╢рд╛рд▓ рдкрд╛рдВрдбрд╛, рдкрд╛рдВрдбрд╛, рдкрд╛рдВрдбрд╛ рднрд╛рд▓реВ, рдХреВрди рднрд╛рд▓реВ, рдРрд▓реБрд░реЛрдкреЛрдбрд╛ рдореЗрд▓рд╛рдиреЛрд▓реБрдХрд╛ (рд╕реНрдХреЛрд░ = 0.89107)
рдЗрдВрджреНрд░реА, рдЗрдВрджреНрд░реА, рдЗрдВрджреНрд░реА рдЗрдВрджреНрд░реА, рдЗрдВрджреНрд░реА рдмреНрд░реЗрд╡рд┐рдХреЙрдбреИрдЯрд╕ (рд╕реНрдХреЛрд░ = 0.00779)
рдХрдо рдкрд╛рдВрдбрд╛, рд▓рд╛рд▓ рдкрд╛рдВрдбрд╛, рдкрд╛рдВрдбрд╛, рднрд╛рд▓реВ рдмрд┐рд▓реНрд▓реА, рдмрд┐рд▓реНрд▓реА рднрд╛рд▓реВ, рдРрд▓реБрд░рд╕ рдлреБрд▓рдЧреЗрдиреНрд╕ (рд╕реНрдХреЛрд░ = 0.00296)
рдХрд╕реНрдЯрд░реНрдб рдПрдкреНрдкрд▓ (рд╕реНрдХреЛрд░ = 0.00147)
рдЕрд░реНрдерд╕реНрдЯрд╛рд░ (рд╕реНрдХреЛрд░ = 0.00117)

рд╡рд╛рд╕реНрддрд╡рд┐рдХ 1m44.473s
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 2m8.980s
sys 1m20.024s

рджреЛрд╕реНрддреЛрдВ, рдореИрдВ рдЗрд╕ рдкреВрд░реЗ рд╕реВрддреНрд░ рдХреЛ рдирд╣реАрдВ рдкрдврд╝рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдБ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХреЛрдИ рдореЗрд░реЗ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗ рд╕рдХрддрд╛ рд╣реИ рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛! рдХреНрдпрд╛ рдореИрдВ рдЕрднреА рддрдХ рдПрдХ AMD GPU рдХреЗ рд╕рд╛рде Tensorflow рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБред рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХрд┐рд╕ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ, рдФрд░ рдХреНрдпрд╛ рдореИрдВ рдЗрд╕реЗ RX рд╡реЗрдЧрд╛ рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдзрдиреНрдпрд╡рд╛рдж!

@ M3L0NM4N рд╣рдордо ... рдореИрдВ рдзрд╛рдЧреЗ рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рд╕рдВрднрд╡рддрдГ рдкрд░реАрдХреНрд╖рдг рдпреЛрдЧреНрдп рдУрдкрдирд╕реАрдПрд▓ рдХреЛрдб рд╣реИ, рдХрдо рд╕реЗ рдХрдо рд╕реАрдкреАрдпреВ рдУрдкрдирд╕реАрдПрд▓ рдкрд░ред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдкреБрд░рд╛рдирд╛ рдПрдПрдордбреА рдЬреАрдкреАрдпреВ ("рдмреЛрдиреЗрдпрд░") рд╣реИ рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдЬреАрдкреАрдпреВ рдФрд░ рд╕реАрдкреАрдпреВ рджреЛрдиреЛрдВ рдкрд░ рдУрдкрдирд╕реАрдПрд▓ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдореИрдВ рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдореЗрдВ рдЗрд╕ рдкрд░ рдПрдХ рд╢реЙрдЯ рд▓реЗ рд╕рдХрддрд╛ рд╣реВрдВ; рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдкрдиреЗ GPU рдкрд░ OpenCL TensorFlow рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

tf-рдзрдирд┐рдпрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ https://github.com/hughperkins/tf-coriander

рдореИрдХреЛрдЬрд╝ рдкрд░ рдХреЛрдИ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ 1.3 рдЬреАрдкреАрдпреВ/рдУрдкрдирд╕реАрдПрд▓ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ?

рдирд╡реАрдирддрдо рд╕рдорд╛рдЪрд╛рд░: рдореИрдВрдиреЗ GitHub рд╕реНрд░реЛрдд рд╕реЗ OpenCL рдХреЗ рд╕рд╛рде TensorFlow 1.3.1 рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрдирд╛рдпрд╛ рд╣реИред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдХреБрдЫ рдЧрд╛рдпрдм рдЯреБрдХрдбрд╝реЗ рд╣реИрдВ, рдФрд░ рдореИрдВрдиреЗ рдЕрднреА рддрдХ GPU рдореЗрдВ рдХреБрдЫ рднреА рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрдо рд╕реЗ рдХрдо рдЧреИрд░-рдУрдкрдирд╕реАрдПрд▓ рд╕реАрдкреАрдпреВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред BTW, рдореЗрд░реЗ рдкрд╛рд╕ CPU OpenCL рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ, рдмрд╕ GPU OpenCL рд╣реИред

рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ OpenCL GPU рдХреЗ рд╕рд╛рде TensorFlow рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рд╣реИрдВ? рдореБрдЭреЗ рдЕрдВрддрддрдГ рдЕрдкрдиреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ рддреНрд╡рд░рд┐рдд рдЬрд╛рдБрдЪ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рдерд╛ред

@znmeb рд╣рд╛рдБ, рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЧрдИ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдРрдк рд╣реИред https://github.com/hughperkins/tf-coriander/issues/64

рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

@unoexperto рд╣рд╛рдБ - рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдХреНрд░реИрд╢ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ) рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдХреЛрдИ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдУрдкрдирд╕реАрдПрд▓ рдорд┐рд▓рд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

┬аpython ./hello-tensorflow.py 
b'Hello, TensorFlow!'

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ (рдЬрдм рдЖрдк рд╕реНрд░реЛрдд рд╕реЗ ./configure рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдЪрд▓рд╛рддреЗ рд╣реИрдВ) рдХрд┐ рдУрдкрдирд╕реАрдПрд▓ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╣реИред рдЗрд╕ рддрд░рд╣ рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд╛рдпрд╛, рд╡реИрд╕реЗ рднреАред

@znmeb рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ GPU рдбрд┐рд╡рд╛рдЗрд╕ рдорд┐рд▓рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдореЗрдВ рдЗрд╕рдиреЗ GPU рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдЪрдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдбрд┐рдмрдЧ рдЬрд╛рдирдХрд╛рд░реА рдореБрджреНрд░рд┐рдд рдХреА рдереАред рд╢рд╛рдпрдж рдЖрдк $ tensorflow/core/common_runtime/gpu/gpu_device.cc рдореЗрдВ рдХрд╣реАрдВ рдХрдВрд╕реЛрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝реЗ рдЧрдП printf рдХреЗ рд╕рд╛рде рдкреБрди: рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@unoexperto рдореИрдВ Google рд╕рдореВрд╣ рдХреА рдЪрд░реНрдЪрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реБрдЖ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрд░реЛрдз рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ред рдореИрдВ рдЗрд╕рдореЗрдВ рдФрд░ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

@znmeb рдЖрдк рдХрд┐рд╕ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдкрд╛рд▓рди рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХреНрд▓рд┐рдирдлреЛ рдЪрд▓рд╛рдпрд╛ рд╣реИ? рдХреНрдпрд╛ рдЖрдкрдиреЗ computercpp_info рдЪрд▓рд╛рдпрд╛ рд╣реИ? рдХреНрдпрд╛ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ OpenCL рдбреНрд░рд╛рдЗрд╡рд░ рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВ? Ubuntu 14.04 рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢ рдпрд╣рд╛рдБ рд╣реИрдВ https://developer.codeplay.com/computecppce/latest/getting-started-with-tensflow рдФрд░ рдпрджрд┐ рдЖрдк 16.04 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдпрд╣рд╛рдБ рдХреБрдЫ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВ http://deep-beta.coред uk/tensorflow-1-3-on-ubuntu-16-04-lts/

@rodburns clinfo рдФрд░ clpeak рджреЛрдиреЛрдВ рдЪрд▓рддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рд╕реНрд░реЛрдд рд╕реЗ рдХреИрдлреЗ рдмрдирд╛рддрд╛ рд╣реВрдВ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ GPU рдХреЛ рд╣рд┐рдЯ рдХрд░рддрд╛ рд╣реИред рддреЛ рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдУрдкрдирд╕реАрдПрд▓/рдЬреАрдкреАрдпреВ рдбреНрд░рд╛рдЗрд╡рд░/рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдореИрдВ рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рдкрд░ рд╣реВрдВ - рдХрд░реНрдиреЗрд▓ рдЙрдирдХрд╛ рдПрд▓рдЯреАрдПрд╕ рд╣реИ - рд▓рд┐рдирдХреНрд╕-рдПрд▓рдЯреАрдПрд╕ 4.9.52-1ред рдпрджрд┐ рдпрд╣ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ, рддреЛ "рдмреЛрдиреЗрдпрд░" 32-рдмрд┐рдЯ рдореЛрдб рдореЗрдВ рд▓рдЧрднрдЧ 1.7 рдЯреАрдПрдлрдПрд▓рдУрдкреАрдПрд╕ рдХреА рдЪреЛрдЯреА рдкрд░ рд╣реИ рдФрд░ рдПрдПрдордбреА рдЬреАрдкреАрдпреВ рдХреЗ "рд╕реА рдЖрдЗрд▓реИрдВрдб" рдкрд░рд┐рд╡рд╛рд░ рдореЗрдВ рд╣реИред

bin/computecpp_info 
********************************************************************************

ComputeCpp Info (CE 0.3.2)

********************************************************************************

Toolchain information:

GLIBC version: 2.26
GLIBCXX: 20160609
This version of libstdc++ is supported.

********************************************************************************


Device Info:

Discovered 1 devices matching:
  platform    : <any>
  device type : <any>

--------------------------------------------------------------------------------
Device 0:

  Device is supported                     : UNTESTED - Untested OS
  CL_DEVICE_NAME                          : Bonaire
  CL_DEVICE_VENDOR                        : Advanced Micro Devices, Inc.
  CL_DRIVER_VERSION                       : 2442.7
  CL_DEVICE_TYPE                          : CL_DEVICE_TYPE_GPU 

If you encounter problems when using any of these OpenCL devices, please consult
this website for known issues:
https://computecpp.codeplay.com/releases/v0.3.2/platform-support-notes

рдХреНрдпрд╛ рдХреЛрдИ рдкрд░реАрдХреНрд╖рдг рд▓реЙрдЧ рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИ? рдпрд╣ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рдЙрдкрдХрд░рдг рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реВрдВрдЧрд╛ред ;-)

рдореЗрд░реЗ рд▓рд┐рдП Sycl/OpenCL рдХреЗ рд▓рд┐рдП TensorFlow рдмрдирд╛рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ!

рдХреЙрдиреНрдлрд┐рдЧ:
рдЙрдмрдВрдЯреВ 16.04
рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ r1.3
рдУрдкрдирд╕реАрдПрд▓ 2.0
ComputeCpp CE 0.3.2 (computecpp_info рдареАрдХ рд╣реИ)
рдЗрдВрдЯреЗрд▓ рдПрдЪрдбреА рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ 620
рдмреЗрдЬрд╝реЗрд▓ 0.5.4

рдирд┐рд░реНрджреЗрд╢ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ (рдУрдкрдирд╕реАрдПрд▓ рдЗрдВрдЯреЗрд▓ / рдХрдВрдкреНрдпреВрдЯрд╕реАрдкреАрдкреА рдмрд┐рд▓реНрдб):
https://software.intel.com/en-us/articles/opencl-drivers#philinux
https://www.codeplay.com/portal/03-30-17-setting-up-tensorflow-with-opencl-using-sycl

рддреНрд░реБрдЯрд┐ :

ERROR: /home/erwang/workspace/ia/tf_original/tensorflow/tensorflow/core/kernels/BUILD:1695:1: C++ compilation of rule '//tensorflow/core/kernels:adjust_contrast_op' failed (Exit 1)
In file included from tensorflow/core/kernels/adjust_contrast_op.cc:19:
In file included from ./tensorflow/core/kernels/adjust_contrast_op.h:18:
In file included from ./third_party/eigen3/unsupported/Eigen/CXX11/Tensor:1:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/Tensor:14:
In file included from external/eigen_archive/Eigen/Core:299:
In file included from external/local_config_sycl/crosstool/../sycl/include/SYCL/sycl.hpp:20:
In file included from external/local_config_sycl/crosstool/../sycl/include/SYCL/sycl_interface.h:54:
external/local_config_sycl/crosstool/../sycl/include/SYCL/multi_pointer.h:342:3: error: multiple overloads of 'global_ptr' instantiate to the same signature 'void (pointer_t)' (aka 'void (__attribute__((address_space(1))) float *)')

рдореЗрд░реЗ рд╕реАрдкреАрдпреВ рдкрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдореЙрдбрд▓ рдореЗрдВ рдЙрдореНрд░ рд▓рдЧрддреА рд╣реИ, рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдУрдкрдирд╕реАрдПрд▓/рдЬреАрдкреАрдпреВ рддреНрд╡рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ...

@ErwanGalline рд╣рдо Eigen (https://bitbucket.org/benoitsteiner/opencl/pull-requests/16/changes-required-for-new-computecpp-ce/diff#comment-None) рдореЗрдВ рдмрджрд▓рд╛рд╡реЛрдВ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдЖрдк рдЬреЛ рд╕рдорд╕реНрдпрд╛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕реЗ рдареАрдХ рдХрд░реЗрдВред

рд╕рд╛рде рд╣реА рд╣рдо Eigen рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреА рддреИрдпрд╛рд░реА рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдпрд╣ рдереЛрдбрд╝рд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдФрд░ рдорд░реНрдЬ рд╕рдВрдШрд░реНрд╖реЛрдВ рдХреА рдзрд╛рд░рд╛ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП @benoitsteiner рдХреЗ рд╕рд╛рде рд╕рдордиреНрд╡рдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рд▓реЗрдХрд┐рди рд╣рдо рд╡рд╣рд╛рдВ рдкрд╣реБрдВрдЪ рд░рд╣реЗ рд╣реИрдВред

рдПрдПрдордбреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдореИрдВ рдЕрдкрдиреЗ рдХрд╛рдВрдЯреЗ рдХреЛ рдЖрдЬрд╝рдорд╛рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛: https://github.com/lukeiwanski/tensorflow/tree/dev/amd_gpu
Ubuntu 16.04 рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдЕрдк рдирд┐рд░реНрджреЗрд╢ рдпрд╣рд╛рдВ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ: http://deep-beta.co.uk/tensorflow-1-3-on-ubuntu-16-04-lts/
рдкрд╣рд▓реЗ рдмрддрд╛рдП рдЧрдП Eigen рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди tensorflow рдХреЗ рд▓рд┐рдП рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╣реЛрдВрдЧреЗред

рдЙрдореНрдореАрдж рд╣реИ рдХреА рд╡реЛ рдорджрдж рдХрд░рджреЗред

@lukeiwanski рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдХрд╛рдВрдЯрд╛ рдХреЗрд╡рд▓ AMD R9 рдиреИрдиреЛ / AMD FirePro GPU рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ?

@lukeiwanski рдХреНрдпрд╛ рдХреЛрдИ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓рд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореИрдВ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ GPU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ? рдореИрдВ рдЗрд╕реЗ radeontop рдХреЗ рд╕рд╛рде рдореЙрдирд┐рдЯрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреБрдЫ рдРрд╕рд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ TensorFlow рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗред

@ZixuanLiang рдирд╣реАрдВ, рди рдХреЗрд╡рд▓ ..
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдо AMD (R9 380, R9 Nano, FirePro) рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЗрдВрдЯреЗрд▓ рдЬреАрдкреАрдпреВ рдХреБрдЫ рдбреНрд░рд╛рдЗрд╡рд░ рдмрдЧ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рд╕реБрдзрд╛рд░ рдЖ рд░рд╣реЗ рд╣реИрдВред рдФрд░ рд╣рдордиреЗ рд░реЗрдиреЗрд╕рд╛рд╕ рдЖрд░-рдХрд╛рд░ рдХреА рдШреЛрд╖рдгрд╛ рдХреА рд╣реИ рдФрд░ рдЖрдЧреЗ рдЖрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ Xilinx triSYCL рдХреЗ рд▓рд┐рдП рдЕрдкрд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рд╕рдорд░реНрдерди рд╣реИ https://github.com/tensorflow/tensorflow/pull/12882 - рдЗрд╕рд▓рд┐рдП FPG's (?) - @keryell рдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП

@znmeb bazel test -c opt --config=sycl --test_output=all //tensorflow/python/kernel_tests:basic_gpu_test рдПрдХ рдирд┐рд╖реНрдкрдХреНрд╖ рд╕рддреНрдпрд╛рдкрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП .. рдЖрдЙрдЯрдкреБрдЯ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
INFO: From Testing //tensorflow/python/kernel_tests:basic_gpu_test: ==================== Test output for //tensorflow/python/kernel_tests:basic_gpu_test: 2017-10-05 10:53:52.727745: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA 2017-10-05 10:53:53.059908: I ./tensorflow/core/common_runtime/sycl/sycl_device.h:66] Found following OpenCL devices: 2017-10-05 10:53:53.059926: I ./tensorflow/core/common_runtime/sycl/sycl_device.h:68] id: 0, type: GPU, name: Tonga, vendor: Advanced Micro Devices, Inc., profile: FULL_PROFILE .....

@lukeiwanski рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рдЗрд╕реЗ AMD GPU рдкрд░ рдЖрдЬрд╝рдорд╛рдЙрдВрдЧрд╛!

@lukeiwanski рдмрд┐рд▓реНрдб рдФрд░ рдЯреЗрд╕реНрдЯ рдореЗрд░реЗ рдмреЛрдиреЗрдпрд░ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореИрдВ рдкрд╛рдпрдерди 3.6 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдФрд░ рдирд┐рд░реНрджреЗрд╢ рдкрд╛рдпрдерди 2.7 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдореБрдЭреЗ 2.7 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрд╛ 3.6 рдХрд╛рдо рдХрд░реЗрдЧрд╛?

@znmeb рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд https://github.com/tensorflow/tensorflow/issues/6533#issuecomment -273852647 рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдпрдерди 3.6 рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП - рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ рдЗрд╕рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ

@lukeiwanski рдХреНрдпрд╛ рдпрд╣ рдПрдХ ComputeCpp рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬреЛ рдЗрд╕ рд╕рдордп TF рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
рдореИрдВрдиреЗ 0.3.2 рдФрд░ 0.1.4 рдХреЗ рдмреАрдЪ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдХреЛрдИ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рд╡реЗ рд╕рднреА "рдПрдХ рд╣реА рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд▓рд┐рдП 'global_ptr' рдХреЗ рдХрдИ рдЕрдзрд┐рднрд╛рд░" рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдПред
рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ, рдореБрдЭреЗ рдЯреАрдПрдл рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ TensorDeviceSycl.h рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИ, рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдирд╛рдо рдмрджрд▓рд╛ рдЧрдпрд╛ рд╣реИ? рдХреНрдпрд╛ рдкреИрдЪ рдХреЛ рдореМрдЬреВрджрд╛ рд╕реНрд░реЛрддреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?

рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рджред

@eLvErDe ComputeCpp 0.3.2 рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ: https://github.com/lukeiwanski/tensorflow/tree/dev/amd_gpu

рдЕрдкрд╕реНрдЯреНрд░реАрдо рдореЗрдВ Eigen рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдЪ рдЧрд╛рдпрдм рд╣реИ рдЬреЛ рдЗрд╕реЗ рдареАрдХ рдХрд░рддрд╛ рд╣реИ .. рджреЗрдЦреЗрдВ https://github.com/tensorflow/tensorflow/issues/22#issuecomment -334154564

рдХрд┐рд╕реА рднреА рд╡рд┐рдЪрд╛рд░ рдХреИрд╕реЗ bazel рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рдЗрд╕ Eigen рдкреИрдЪ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП? рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдПрдХ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реАрдВ Eigen tgz рд╕рдВрд╕реНрдХрд░рдг рдЯрдХреНрдХрд░ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП?

рдзрдиреНрдпрд╡рд╛рдж, рдПрдбрдоред

https://github.com/lukeiwanski/tensorflow/commit/8468d65e87e083337f18616f75ac56d3296d6ab1

рдпрд╣ рдХрдорд┐рдЯрдореЗрдВрдЯ рдЗрд╕реЗ рдмрдирд╡рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╣реЛрдЧрд╛?

рд╣рд╛рдБ, рдЖрдкрдХреЛ рдЗрд╕реЗ рдЪреБрдирдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рдпрд╣рд╛рдБ рдХреБрдЫ рдЕрдЧрд▓реА рдмрд┐рд▓реНрдб рд╡рд┐рдлрд▓рддрд╛рдПрдБ рд╣реИрдВ:

external/eigen_archive/Eigen/src/Core/util/BlasUtil.h:63:63: error: no type named 'ReturnType' in 'Eigen::ScalarBinaryOpTraits<cl::sycl::vec<float, 4>, std::complex<float>, Eigen::internal::scalar_product_op<cl::sycl::vec<float, 4>, std::complex<float> > >'
  typedef typename ScalarBinaryOpTraits<LhsScalar,RhsScalar>::ReturnType Scalar;
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
external/eigen_archive/Eigen/src/Core/util/BlasUtil.h:69:34: error: invalid operands to binary expression ('const cl::sycl::vec<float, 4>' and 'const std::complex<float>')
  { return conj_if<ConjLhs>()(x) *  conj_if<ConjRhs>()(y); }
           ~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~

@eLvErDe рдХреБрдЫ рдХрдорд┐рдЯ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЖрд╡реЗрджрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ рдХрд┐ рдЖрдк dev/amd_gpu рдХреА рдиреЛрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдпрд╛ рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рд╡рд░реНрддрдорд╛рди рд╢рд╛рдЦрд╛ рдирд╣реАрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ.. рдЖрдк рдЗрд╕рдореЗрдВ dev/amd_gpu рдХрд╛ рд╡рд┐рд▓рдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрд╕рд▓ рдореЗрдВ рдореИрдВ рдЕрдкрдиреЗ рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ рдбреЗрдмрд┐рдпрди/рдЙрдмрдВрдЯреВ рдкреИрдХреЗрдЬ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ 1.3.1 рд░рд┐рд▓реАрдЬ рдХреЗ рдХрд░реАрдм рд░рд╣рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рдУрдкрдирд╕реАрдПрд▓ рд╕рдорд░реНрдерди рдХреЗ рдмрд┐рдирд╛ рд░рд╣ рд╕рдХрддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдЬреИрд╕реЗ рд╣реА рдпрд╣ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рдореИрдВ рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд░рд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреА рд╢рд╛рдЦрд╛ рдХреЗ рдЦрд┐рд▓рд╛рдл рдкреИрдХреЗрдЬ рдЕрдкрдбреЗрдЯ рдХрд░ рджреВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдЬ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ;)

рдореЗрд░реЗ рдЦрдирди рдЙрдкрдХрд░рдг рдореЗрдВ рдПрдПрдордбреА рдЬреАрдкреАрдпреВ рдХреА рд▓рдЧрднрдЧ рджрд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд┐рд╕реНрдореЗрдВ рд╣реИрдВред (7970 рд╕реЗ RX 480 рддрдХ ubuntu 16.04 рдФрд░ amdgpu-pro рдЪрд▓ рд░рд╣рд╛ рд╣реИ)ред рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдХреБрдЫ рднреА рдкрд░реАрдХреНрд╖рдг рдХрд░рдХреЗ рдпреЛрдЧрджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдХреБрдЫ рднреА рдкрд░реАрдХреНрд╖рдг рдХрд░рдХреЗ рдпреЛрдЧрджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
рдХреИрд╕реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ https://github.com/ROCmSoftwarePlatform/hipCaffe
https://github.com/ROCmSoftwarePlatform/hipeigen

рдордВрдЧрд▓рд╡рд╛рд░, 17 рдЕрдХреНрдЯреВрдмрд░, 2017 рдХреЛ рд╕реБрдмрд╣ 10:54 рдмрдЬреЗ, slundell [email protected] рдиреЗ рд▓рд┐рдЦрд╛:

рдореЗрд░реЗ рдЦрдирди рдЙрдкрдХрд░рдг рдореЗрдВ рдПрдПрдордбреА рдЬреАрдкреАрдпреВ рдХреА рд▓рдЧрднрдЧ рджрд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд┐рд╕реНрдореЗрдВ рд╣реИрдВред (рд╕реЗ
7970 рд╕реЗ RX 480 рдореЗрдВ ubuntu 16.04 рдФрд░ amdgpu-pro рдЪрд▓ рд░рд╣рд╛ рд╣реИ)ред рдЕрдЧрд░ рдореИрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ
рдХреБрдЫ рднреА рдкрд░реАрдХреНрд╖рдг рдХрд░рдХреЗ рдпреЛрдЧрджрд╛рди рджреЗрдВред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/tensorflow/tensorflow/issues/22#issuecomment-337309059 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AA6MNxXJ-G3nCQUA9RucrJ8y4vs5NPtLks5stOnbgaJpZM4Gex3i
.

@lukeiwanski рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдХрд╛рдВрдЯрд╛ macOS рдкрд░ рднреА AMD GPU рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░реЗрдЧрд╛?

рдирдорд╕реНрддреЗ,
рдореИрдВ рдЕрдкрдиреЗ Android рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП GPU (рдорд╛рд▓реА-T720) рд╕рдХреНрд╖рдо рдХреЗ рд╕рд╛рде Ubuntu16.04 x64 рдкрд░ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ API рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣рд╛ рдерд╛,

рдореЗрд░реА рдУрдПрд╕ рдЬрд╛рдирдХрд╛рд░реА:
рдЙрдмрдВрдЯреВ 16.04 x64
рдХрдВрдкреНрдпреВрдЯрд░ GPU: NVIDIA 1080Ti
CUDA 8.0
CUDNN 5.1 (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП cuda рдпрд╛ cudnn рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛)
рдмреЗрдЬрд╝реЗрд▓ 0.5.2
рдХрдВрдкреНрдпреВрдЯрд╕реАрдкреАрдкреА рд╕реАрдИ 0.3.2

рдореЗрд░рд╛ рдмрд┐рд▓реНрдб.рд╢ рд╣реИ:
'
рдмреЗрдЬрд╝рд▓ рдмрд┐рд▓реНрдб-рд╕реА рдСрдкреНрдЯ --config=sycl //tensorflow/contrib/android:libtensorflow_cc.so --cxxopt="-
std=c++11" --cxxopt="-DTENSORFLOW_DISABLE_META" --verbose_failures --
crosstool_top=//external:android/crosstool --host_crosstool_top=@bazel_tools//tools/cpp:toolchain --
рд╕реАрдкреАрдпреВ = рдЖрд░реНрдореЗрдмреА-рд╡реА7рдП
'
рдирд┐рд░реНрдорд╛рдг рд╕реЗ рдкрд╣рд▓реЗред рдореИрдВ LD_LIBRARY_PATH=my_sycl_lib_path=$LD_LIBRARY_PATH рдХрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддрд╛ рд╣реВрдВ, рдмрд┐рдирд╛ ' --config=sycl ' рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдареАрдХ рд╣реИ рдФрд░ рдореБрдЭреЗ рд╕рд╣реА libtensorflow_cc.so рдорд┐рд▓рд╛ рд╣реИ, рд▓реЗрдХрд┐рди ' --config=sycl ' рдХреЗ рд╕рд╛рде, рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЗ рдЧрд╛рдпрдм -lComputeCpp рдирд┐рдХрд▓рд╛ред рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐рдпрд╛рдВ

рдЗрд╕ рддрд░рд╣ рдкреВрд░рд╛ рд▓реЙрдЧ:

рддреНрд░реБрдЯрд┐: /home/e0024/workspace/tensorflow/tensorflow/contrib/android/BUILD:102:1: рдирд┐рдпрдо рдХрд╛ рд▓рд┐рдВрдХрд┐рдВрдЧ '//tensorflow/contrib/android:libtensorflow.so' рд╡рд┐рдлрд▓: link_dynamic_library.sh рд╡рд┐рдлрд▓: рддреНрд░реБрдЯрд┐ рдирд┐рд╖реНрдкрд╛рджрди рдЖрджреЗрд╢
(cd /home/e0024/.cache/bazel/_bazel_e0024/783dad02ec856015f56356584726dd10/execroot/org_tensorflow && \
рдирд┐рд╖реНрдкрд╛рджрди рдПрдирд╡реА - \
COMPUTECPP_TOOLKIT_PATH=/home/e0024/workspace/source/computeCppForSYCL1.2 \
HOST_CXX_COMPILER=/usr/bin/g++ \
HOST_C_COMPILER=/usr/bin/gcc \
LD_LIBRARY_PATH=/home/e0024/workspace/source/computeCppForSYCL1.2/lib:/home/e0024/workspace/caffe/build/lib:/home/e0024/workspace/cudnn/lib64: \
PATH=/home/e0024/bin:/home/e0024/.local/bin:/home/e0024/workspace/Anaconda2/bin:/opt/cuda:/home/e0024/workspace/source/protoc-3.3.0- linux-x86_64/bin:/home/e0024/workspace/bazel/output:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/ рдЧреЗрдореНрд╕:/usr/рд▓реЛрдХрд▓/рдЧреЗрдореНрд╕:/рд╕реНрдиреИрдк/рдмрд┐рди \
рдкреАрдбрдмреНрд▓реНрдпреВрдбреА =/рдЦрд░реАрдж/рд╕реНрд╡рдпрдВ/рд╕реАрдбрдмреНрд▓реНрдпреВрдбреА \
PYTHON_BIN_PATH=/home/e0024/workspace/Anaconda2/bin/python \
PYTHON_LIB_PATH=/home/e0024/workspace/Anaconda2/lib/python2.7/site-packages \
TF_NEED_CUDA=0 \
TF_NEED_OPENCL=1 \
рдмрд╛рд╣рд░реА/bazel_tools/tools/cpp/link_dynamic_library.sh рдХреЛрдИ рдЕрдирджреЗрдЦрд╛ рдЕрдирджреЗрдЦрд╛ рдЕрдирджреЗрдЦрд╛ рдмрд╛рд╣рд░реА/androidndk/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc -shared -o bazel-out/arm-linux-androideabi-4.9-v7a-gnu-libstdcpp-opt/bin/tensorflow/contrib/android/libtensorflow.so '-Wl,-rpath,$ORIGIN/../../../ _solib_armeabi-v7a / _U @local_Uconfig_Usycl_S_Ssycl_Csyclrt___Uexternal_Slocal_Uconfig_Usycl_Ssycl_Slib '-Lbazel рдмрд╛рд╣рд░ / рд╣рд╛рде-linux-androideabi-4.9-v7a-gnu-libstdcpp-рдСрдкреНрдЯ / bin / _solib_armeabi-v7a / _U @local_Uconfig_Usycl_S_Ssycl_Csyclrt___Uexternal_Slocal_Uconfig_Usycl_Ssycl_Slib -Wl, рдЖрдЬрд╝рд╛рдж-рд╕рдВрдЧреНрд░рд╣ Bazel рдмрд╛рд╣рд░ / рд╣рд╛рде -linux-androideabi-4.9-v7a-gnu-libstdcpp-opt/bin/tensorflow/c/libc_api.a -Wl,-no-whole-archive -Wl,-whole-archive bazel-out/arm-linux-androideabi- 4.9-v7a-gnu-libstdcpp-opt/bin/tensorflow/core/libandroid_tensorflow_lib.lo -Wl,-no-whole-archive -Wl,-whole-archive bazel-out/arm-linux-androideabi-4.9-v7a-gnu -libstdcpp-opt/bin/tensorflow/core/kernels/libandr oid_tensorflow_kernels.lo -Wl,-no-whole-archive -Wl,-whole-archive bazel-out/arm-linux-androideabi-4.9-v7a-gnu-libstdcpp-opt/bin/tensorflow/core/libandroid_tensorflow_lib_lite.lo -Wl ,-рдирд╣реАрдВ-рд╕рдВрдкреВрд░реНрдг-рд╕рдВрдЧреНрд░рд╣-Wl,-рд╕рдВрдкреВрд░реНрдг-рд╕рдВрдЧреНрд░рд╣ bazel-out/arm-linux-androideabi-4.9-v7a-gnu-libstdcpp-opt/bin/tensorflow/core/libprotos_all_cc.a -Wl,-no-whole -рд╕рдВрдЧреНрд░рд╣ -Wl,-рд╕рдВрдкреВрд░реНрдг-рд╕рдВрдЧреНрд░рд╣ bazel-out/arm-linux-androideabi-4.9-v7a-gnu-libstdcpp-opt/bin/external/protobuf/libprotobuf.a -Wl,-no-whole-archive -Wl, -рд╕рдВрдкреВрд░реНрдг-рд╕рдВрдЧреНрд░рд╣ bazel-out/arm-linux-androideabi-4.9-v7a-gnu-libstdcpp-opt/bin/external/protobuf/libprotobuf_lite.a -Wl,-no-whole-archive -lComputeCpp рдмрд╛рд╣рд░реА/androidndk/ndk/ рд╕реНрд░реЛрдд/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/libgnustl_static.a рдмрд╛рд╣рд░реА/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/libsupc++.a -landroid -рд▓реЙрдЧ -рдПрд▓рдПрдо -рдЬреЗрдб рдбреАрдПрдлрдПрд╕ -рдПрд╕ -рдбрдмреНрд▓реНрдпреВрдПрд▓,--рдЬреАрд╕реА-рд╕реЗрдХреНрд╢рди '-рдбрдмреНрд▓реНрдпреВрдПрд▓,-рд╕реЛрдирдо=libtensorflow.so' -рдбрдмреНрд▓реНрдпреВрдПрд▓,--рд╡рд░реНрдЬрди-рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ/рд╕реА/рд╡рд░реНрдЬрди_рд╕реНрдХреНрд░рд┐рдкреНрдЯ.рдПрд▓рдбреА-рдПрд▓рдЬреЗрдб -рд╕реНрдЯреИрдЯрд┐рдХ-рд▓рд┐рдмрдЧрд╕реАрд╕реА - рдиреЛ-рдХреИрдиреЛрдирд┐рдХрд▓-рдЙрдкрд╕рд░реНрдЧ '-рдорд╛рд░реНрдЪ = armv7-a' -Wl,--fix-cortex-a8 '--sysroot=external/androidndk/ndk/platforms/android-14/arch-arm'): com.google.devtools.build.lib.shell.BadExitStatusException: рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЧрдпрд╛ рд╕реНрдерд┐рддрд┐ 1.
рдмрд╛рд╣рд░реА/androidndk/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/.././../.. /arm-linux-androideabi/bin/ld: рдЪреЗрддрд╛рд╡рдиреА: рдЕрд╕рдВрдЧрдд bazel-out/arm-linux-androideabi-4.9-v7a-gnu-libstdcpp-opt/bin/_solib_armeabi-v7a/_U@local_Uconfig_Usycl_S_Ssycl_Csyclrt___Spp рдХрдВрдкреНрдпреВрдЯрд╕реАрдкреАрдкреА рдХреЗ рд▓рд┐рдП
рдмрд╛рд╣рд░реА/androidndk/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/.././../.. /arm-linux-androideabi/bin/ld: рддреНрд░реБрдЯрд┐: рдирд╣реАрдВ рдвреВрдБрдв рд╕рдХрддрд╛ -lComputeCpp
рд╕рдВрдЧреНрд░рд╣ 2: рддреНрд░реБрдЯрд┐: рдПрд▓рдбреА рдиреЗ 1 рдирд┐рдХрд╛рд╕ рд╕реНрдерд┐рддрд┐ рд▓реМрдЯрд╛ рджреА
рд▓рдХреНрд╖реНрдп //tensorflow/contrib/android:libtensorflow.so рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓
рдЬрд╛рдирдХрд╛рд░реА: рдмреАрддрд╛ рд╣реБрдЖ рд╕рдордп: 617.736s, рдЧрдВрднреАрд░ рдкрде: 54.66s

рдЙрд╣... рдореИрдВ GPU (рдорд╛рд▓реА-T720) рд╕рдХреНрд╖рдо рдХреЗ рд╕рд╛рде рд╣рд╛рде рдХреЗ рдЖрд░реНрдЪ рдореЗрдВ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдПрдкреАрдЖрдИ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ,
рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЕрдЧрд░ рдХреЛрдИ рдпрд╣рд╛рдВ рдХреБрдЫ рдЕрдиреБрднрд╡ рдпрд╛ рд╕реБрдЭрд╛рд╡ рдЫреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред Thx рдПрдХ рд▓реВрдЯред

рдЖрд░реНрдо рдЯреЗрдХрдХреЙрди, @ laMia482 рдкрд░ рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдореЗрд░реА рдмрд╛рдд рдкрд░ рдЖрдПрдВ! http://schedule.armtechcon.com/session/running-tensorflow-machine-learning-on-arm-embedded-hardware/850230

рдЖрдкрдХреЛ SPIR-V рд╕рдкреЛрд░реНрдЯ рд╡рд╛рд▓реЗ рдорд╛рд▓реА рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬреЛ рд╢рд╛рдпрдж рдЕрднреА рддрдХ рдЖрд╕рд╛рдиреА рд╕реЗ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред рдФрд░ рдЖрдкрдХреЛ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдЖрд░реНрдо рд╕реАрдкреАрдпреВ рд╕рдкреЛрд░реНрдЯ рдФрд░ SPIR-V рд╕рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде ComputeCpp рд░рдирдЯрд╛рдЗрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬреЛ рдХрд┐ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ (рдЕрднреА рддрдХ)ред рддреЛ, рдЖрдкрдХреЛ рдмрд╕ рдПрдХ _рдереЛрдбрд╝рд╛_рд╕рд╛ рдзреИрд░реНрдп рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ (Vertex.AI) рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд▓реЗрдбрдПрдордПрд▓ рд╣реИ, рдУрдкрдирд╕реАрдПрд▓ рдкрд░ рдХреЗрд░рд╕ рдЪрд▓рд╛рдиреЗ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░рд╛ рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ рд╕реНрдЯреИрдХред TensorFlow рд╕рдорд░реНрдерди рдЖ рд░рд╣рд╛ рд╣реИ, рдорджрдж рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдФрд░ рд╣рд╛рдБ, рдореИрдХ рд╕рдорд░реНрдерди рд░рд╛рд╕реНрддреЗ рдореЗрдВ рд╣реИ (рд╡рд┐рдВрдбреЛрдЬрд╝ рднреА)ред http://vertex.ai/blog/announcing-playidml @ggaabe

@choongng рдореИрдВ рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рд▓реЗрдХрд┐рди рдЕрд╕рдлрд▓ рд░рд╣рд╛ред
pip search plaidml рд░рд┐рдЯрд░реНрди

plaidml (0.1.0rc3)        - PlaidML machine learning accelerator

рд▓реЗрдХрд┐рди pip install plaidml рдпрд╛ pip install plaidml==0.1.0rc3
рд░рд┐рдЯрд░реНрди

Could not find a version that satisfies the requirement plaidml (from versions: )
No matching distribution found for plaidml

@ hy9be рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдХреЗ рдмрдЬрд╛рдп рдкреНрд▓реЗрдбрдПрдордПрд▓ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдореЗрдВ рдХреЛрдИ рдореБрджреНрджрд╛ рдмрдирд╛рдирд╛ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рдореЗрдВ рдУрдкрдирд╕реАрдПрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд╣рд╛рдВ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рджреЗрдЦрдХрд░ рдЖрдкрдХрд╛ рдкрд╛рдЗрдк рдЗрдВрд╕реНрдЯрд╛рд▓ рдХрдорд╛рдВрдб рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдФрд░ рдЖрдкрдХреЗ рд╕рддреНрд░ рднрд╛рд╖рдг рдХреЗ рд▓рд┐рдП @andrewrichards рдзрдиреНрдпрд╡рд╛рджред

рд▓реЗрдХрд┐рди рдЕрднреА рдореЗрд░реЗ рд▓рд┐рдП (рдПрдХ рд╕реНрдирд╛рддрдХ рдЫрд╛рддреНрд░), Android рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ Tensorflow рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдРрдк рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ GPU (Mali-T720) рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, SPIP-V рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдорд╛рд▓реА рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЖрд░реНрдо CPU рдХреЗ рд╕рд╛рде Android рдХреЗ рд▓рд┐рдП ComputeCpp рд░рдирдЯрд╛рдЗрдо рдХреА рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рдорд░реНрдерди рдФрд░ SPIR-V рд╕рдорд░реНрдердиред

рдЪреВрдВрдХрд┐ рдореИрдВрдиреЗ рдХреЛрдбрдкреНрд▓реЗ рд╣реЛрдордкреЗрдЬ рдкрд░ ComputeCpp (Ubuntu16.04 x64 рдмрд┐рди/рдбреЙрдХреНрдЯрд░/рд╢рд╛рдорд┐рд▓/lib/) рдХреЗ рд╕рд╛рде рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИ, рдХрд▓ рдореИрдВ рджреМрдбрд╝рддрд╛ рд╣реВрдВ:
bazel build -c opt --config=sycl //tensorflow/contrib/android:libtensorflow_cc.so --cxxopt="-std=c++11" --cxxopt="-DTENSORFLOW_DISABLE_META" --verbose_failures --crosstool_top=//external:android/crosstool --host_crosstool_top=@bazel_tools//tools/cpp:toolchain --cpu=armeabi-v7a
рддреНрд░реБрдЯрд┐рдпреЛрдВ рдиреЗ рдХрд╣рд╛ libComputeCpp.so incompatible , рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╢рд╛рдпрдж рдореБрдЭреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдЖрд░реНрдо рд╕реАрдкреАрдпреВ рд╕рдорд░реНрдерди рдФрд░ рдПрд╕рдкреАрдЖрдИрдЖрд░-рд╡реА рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдХрдВрдкреНрдпреВрдЯрд╕реАрдкреАрдкреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдХрдВрдкреНрдпреВрдЯрд╕реАрдкреАрдкреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реНрд░реЛрдд рдХреЛрдб рдирд╣реАрдВ рдорд┐рд▓рд╛, рдЬреАрдердм рдореЗрдВ рдХреЗрд╡рд▓ рдирдореВрдиреЗ рд╣реИрдВред

рдФрд░ рдЖрдкрдиреЗ рдХрд╣рд╛ рд╣реИ рдХрд┐ Android рдХреЗ рд▓рд┐рдП ComputeCpp рдЕрдм рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреНрдпрд╛ Android рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ рдпрд╛ рд╕рдорд░реНрдерд┐рдд рд╣реЛрдиреЗ рдкрд░ рдореИрдВ рдЗрд╕реЗ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдПрдПрдордбреА рдЬреАрдкреАрдпреВ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдПрдПрдордбреА рдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдпрд╣рд╛рдВ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рдХрд╛ рдПрдЪрдЖрдИрдкреА рдкреЛрд░реНрдЯ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рд╣реИред рдЖрдкрдХреА рд░реБрдЪрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдореИрдВрдиреЗ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред

рдореИрдВ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ - рджреЗрдЦрддреЗ рд░рд╣реЗрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реАрдЖрдИ рдХреЛ рд╡рд┐рдлрд▓ рдХрд░ рд░рд╣рд╛ рд╣реИред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдЕрднреА рднреА рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдг рдореЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛, рддреБрд░рдВрдд рдПрдордПрдирдЖрдИрдПрд╕рдЯреА рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╕реЗрдЧрдлреЙрд▓реНрдЯ рдорд┐рд▓рд╛ред
рдкрддрд╛ рдирд╣реАрдВ рдореИрдВ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБред

$ python ./convolutional.py 
I tensorflow/stream_executor/dso_loader.cc:130] Couldn't open CUDA library libhipblas.so. LD_LIBRARY_PATH: :/home/masa/project/rendering/RadeonProRender-Baikal/Bin/Release/x64:/usr/local/lib64:/opt/CodeXL_2.5-25:/usr/lib/x86_64-linux-gnu/:/opt/CodeXL_2.5-25/RuntimeLibs/QT/
I tensorflow/stream_executor/cuda/cuda_blas.cc:2305] Unable to load HIPBLAS DSO.
I tensorflow/stream_executor/dso_loader.cc:130] Couldn't open CUDA library libhipfft.so. LD_LIBRARY_PATH: :/home/masa/project/rendering/RadeonProRender-Baikal/Bin/Release/x64:/usr/local/lib64:/opt/CodeXL_2.5-25:/usr/lib/x86_64-linux-gnu/:/opt/CodeXL_2.5-25/RuntimeLibs/QT/
I tensorflow/stream_executor/cuda/cuda_fft.cc:344] Unable to load cuFFT DSO.
I tensorflow/stream_executor/dso_loader.cc:139] successfully opened CUDA library libhip_hcc.so locally
I tensorflow/stream_executor/dso_loader.cc:130] Couldn't open CUDA library libhiprng.so. LD_LIBRARY_PATH: :/home/masa/project/rendering/RadeonProRender-Baikal/Bin/Release/x64:/usr/local/lib64:/opt/CodeXL_2.5-25:/usr/lib/x86_64-linux-gnu/:/opt/CodeXL_2.5-25/RuntimeLibs/QT/
I tensorflow/stream_executor/cuda/cuda_rng.cc:338] Unable to load cuRAND DSO.
I tensorflow/stream_executor/dso_loader.cc:139] successfully opened CUDA library libMIOpen.so locally
Extracting data/train-images-idx3-ubyte.gz
Extracting data/train-labels-idx1-ubyte.gz
Extracting data/t10k-images-idx3-ubyte.gz
Extracting data/t10k-labels-idx1-ubyte.gz
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE3 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/stream_executor/cuda/cuda_driver.cc:633] creating context when one is currently active; existing: 0x7f94fa357e90
I tensorflow/core/common_runtime/gpu/gpu_device.cc:892] Found device 0 with properties: 
name: Fiji [Radeon R9 FURY / NANO Series]
major: 2 minor: 0 memoryClockRate (GHz) 1
pciBusID 1я┐╜я┐╜я┐╜я┐╜
Total memory: 4.00GiB
Free memory: 3.75GiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:913] DMA: 0 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:923] 0:   Y 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:972] Creating TensorFlow device (/gpu:0) -> (device: 0, name: Fiji [Radeon R9 FURY / NANO Series], pci bus id: 1я┐╜я┐╜я┐╜я┐╜)
Initialized!
I tensorflow/core/kernels/conv_ops.cc:604] running auto-tune for Convolve
Invoking clang-ocl on "/tmp/miopen-MIOpenUtilKernels.cl-c377-1df5-8b6a-884c/MIOpenUtilKernels.cl"
/opt/rocm/bin/clang-ocl -DNUM_CH_PER_WG=1 -DNUM_IM_BLKS_X=1 -DNUM_IM_BLKS=4 -DLOCAL_MEM_SIZE=432 -DSTRIDE_GT_1=0 -DTILE_SZ_X=32 -DTILE_SZ_Y=8 -DUSE_IM_OFF_GUARD=1 -mcpu=gfx803 -Wno-everything MIOpenUtilKernels.cl -o /tmp/miopen-MIOpenUtilKernels.cl-c377-1df5-8b6a-884c/MIOpenUtilKernels.cl.o
writing gemm kernel to "/tmp/miopen-tinygemm.cl-836e-c4d4-abd3-b292/tinygemm.cl"
Invoking clang-ocl on "/tmp/miopen-tinygemm.cl-836e-c4d4-abd3-b292/tinygemm.cl"
/opt/rocm/bin/clang-ocl -mcpu=gfx803 -Wno-everything tinygemm.cl -o /tmp/miopen-tinygemm.cl-836e-c4d4-abd3-b292/tinygemm.cl.o
GCN assember path: /opt/rocm/opencl/bin/x86_64/clang
Arugment: --version 
Invoking clang-ocl on "/tmp/miopen-MIOpenConvDirUniC.cl-f5fc-85f4-7079-a024/MIOpenConvDirUniC.cl"
/opt/rocm/bin/clang-ocl -DMLO_HW_WAVE_SZ=64 -DMLO_DIR_FORWARD=1 -DMLO_FILTER_SIZE0=5 -DMLO_FILTER_SIZE1=5 -DMLO_FILTER_PAD0=2 -DMLO_FILTER_PAD1=2 -DMLO_N_OUTPUTS=32 -DMLO_N_INPUTS=1 -DMLO_BATCH_SZ=64 -DMLO_OUT_WIDTH=28 -DMLO_OUT_HEIGHT=28 -DMLO_OUT_BATCH_STRIDE=25088 -DMLO_OUT_CHANNEL_STRIDE=784 -DMLO_OUT_STRIDE=28 -DMLO_IN_WIDTH=28 -DMLO_IN_HEIGHT=28 -DMLO_IN_BATCH_STRIDE=784 -DMLO_IN_CHANNEL_STRIDE=784 -DMLO_IN_STRIDE=28 -DMLO_IN_TILE0=28 -DMLO_IN_TILE1=8 -DMLO_OUT_TILE0=28 -DMLO_OUT_TILE1=8 -DMLO_GRP_TILE0=16 -DMLO_GRP_TILE1=8 -DMLO_ACTIVE_ALUS=112 -DMLO_N_ALUTILES_PERSTACK=2 -DMLO_OUT_PIX_TILE0=2 -DMLO_OUT_PIX_TILE1=2 -DMLO_N_STACKS=1 -DMLO_N_OUT_TILES=8 -DMLO_N_OUT_TILES_PERSTACK=16 -DMLO_N_IN_TILES_PERSTACK=1 -DMLO_N_READ_PROCS=128 -DMLO_CONV_BIAS=0 -DMLO_ALU_VTILE0=14 -DMLO_ALU_VTILE1=4 -mcpu=gfx803 -Wno-everything MIOpenConvDirUniC.cl -o /tmp/miopen-MIOpenConvDirUniC.cl-f5fc-85f4-7079-a024/MIOpenConvDirUniC.cl.o
Invoking clang-ocl on "/tmp/miopen-MIOpenConvFFT.cl-2fbf-2ba2-0088-ebfc/MIOpenConvFFT.cl"
/opt/rocm/bin/clang-ocl -DCFF_TRANSP_WT_MOD16=1 -DCFF_CGEMM_CHOICE_0=1 -DCFF_IMG_SZ_28_28 -DCFF_IMG_H=28 -DCFF_IMG_W=28 -DCFF_BATCH=64 -DCFF_NFILTER=32 -DCFF_CHANNELS=1 -DCFF_HALFW=1148928 -mcpu=gfx803 -Wno-everything MIOpenConvFFT.cl -o /tmp/miopen-MIOpenConvFFT.cl-2fbf-2ba2-0088-ebfc/MIOpenConvFFT.cl.o
Segmentation fault (core dumped)

@ рдорд╕рд╛рд╣реА - рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ rocm 1.6.4 рдмреЗрд╕ рд╕реНрдерд╛рдкрд┐рдд рд╣реИред

@bensander рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реВрдВрдЧрд╛ред

@bensander рдПрдПрдордбреА рд╕реНрдЯреИрдХ рд╕реЗ рдореБрдЭреЗ рдФрд░ рдХреБрдЫ рдЪрд╛рд╣рд┐рдП? рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдм рдХреЗрд╡рд▓ рдПрдПрдордбреА рдорд╛рд▓рд┐рдХрд╛рдирд╛ рдУрдкрдирдХреНрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдЬреЛ рдУрдкрди рд╕реЛрд░реНрд╕ "amdgpu" рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред

@masahi - рдпрджрд┐ рдЖрдк rocm рдФрд░ rocm-libs (рдпрд╛рдиреА "apt-get install rocm rocm-libs") рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЖрдкрдХреА рд╕рднреА рдЬрд╝рд░реВрд░рддреЗрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рд░реЗрдкреЛрдЯ рдкрд░ rocm_docs рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдореЛрдВ рд╕рд╣рд┐рдд рдкреВрд░реНрдг рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВред

@bensander рдореБрдЭреЗ рдХреИрд╕реЗ рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ рдХрд┐ рдореИрдВ rocm 1.6.4 рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ (рдФрд░ 1.6.3 рдирд╣реАрдВ)?

@ рдорд╕рд╛рд╣реА рд╕рд┐рд░реНрдл рдПрдХ рдЕрдиреБрдорд╛рди рд╣реИ: рдЖрдкрдХреЛ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдВрдмрдВрдзрд┐рдд рд╕реНрдерд╛рди рдкрд░ рдкреНрд░рд╢реНрди рдкреВрдЫрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕реЗ рдХрд┐ рдПрдПрдордбреА рдпрд╛ рдЖрд░рдУрд╕реАрдПрдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдпрд╣рд╛рдВ рдХреЗ рдмрдЬрд╛рдп ...

@keryell рдареАрдХ рд╣реИ, рдореИрдВ рд╡рд┐рд╖рдп рд╕реЗ рд╣рдЯ рд░рд╣рд╛ рд╣реВрдБред рдореИрдВ рдпрд╣реАрдВ рд░реБрдХрддрд╛ рд╣реВрдВред
рд╡реИрд╕реЗ рднреА, рдореИрдВ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╣рд┐рдкрдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред рдореИрдВ рдмрд╛рдж рдореЗрдВ рдХреНрд▓реАрди рдЙрдмрдВрдЯреВ рдЗрдВрд╕реНрдЯрд╛рд▓ рдХреЗ рд╕рд╛рде рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

@masahi - рдмрд╕ рд╡рд╣рд╛рдВ рдкрд░ рдПрдХ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВ рдФрд░ рд╣рдо рдЖрдкрдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рджреЗрдВрдЧреЗред

рдирдорд╕реНрддреЗ, рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рд╣рд┐рдкреНрдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛, рдПрдПрдордбреА рдореЗрдВ @bensander рдФрд░ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдЙрдирдХреЗ рдХреНрд╡рд┐рдХрд╕реНрдЯрд╛рд░реНрдЯ рдЧрд╛рдЗрдб рдореЗрдВ рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реВрдВред

рдзрдиреНрдпрд╡рд╛рдж

рдЬреЛ рд▓реЛрдЧ ROCm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ AMD рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ TensorFlow рдХреЛ рдЖрдЬрд╝рдорд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рдмреНрд▓реЙрдЧ рд▓рд┐рдЦрд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ AMD Fury Nano рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Fast.ai рдиреЛрдЯрдмреБрдХ рдХреИрд╕реЗ рдЪрд▓рд╛рдПрдВред
http://briansp2020.github.io/2017/11/05/fast_ai_ROCm/

рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛!

ROCm 1.7 рд░рд╛рд╕реНрддреЗ рдореЗрдВ рд╣реИ, рдЬреЛ рдЙрдЪрд┐рдд Tensorflow рд╕рдорд░реНрдерди рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ!

https://www.phoronix.com/scan.php?page=news_item&px=AMD-ROCm-1.7-рд░рд┐рд▓реАрдЬрд╝

AMD GPU рдХреЗ рд▓рд┐рдП Tensorflow рдкреЛрд░реНрдЯ:
https://github.com/ROCmSoftwarePlatform/hiptensorflow/blob/hip/README.ROCm.md

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореЗрд░реА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реЗрдЯрд┐рдВрдЧ:
GPU: AMD Radeon RX 480
рд╕реАрдкреАрдпреВ: рдЗрдВрдЯреЗрд▓ рдЬрд╝реАрдСрди 2603 v3
рдПрдордмреА: рд╕реБрдкрд░рдорд╛рдЗрдХреНрд░реЛ x10srl-f

рдХреБрдВрдЬреА рдорджрд░ рдмреЛрд░реНрдб рд╣реИ рдФрд░ CPU рдХреЛ PCIe v3 . рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╣реИ

рдЗрд╕рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдПрдирд╡реАрдбрд┐рдпрд╛ 980Ti . рдХреЗ рд╕рдорд╛рди рд╣реИ

рдореБрдЭреЗ рдЕрдкрдиреЗ "рд╕рдорд░реНрдерд┐рдд" рдЙрдмрдВрдЯреВ 16.04 рдПрд▓рдЯреАрдПрд╕ рдЗрдВрд╕реНрдЯреЙрд▓ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рд╕рдорд░реНрдерд┐рдд" рдПрдПрдордбреА рдбреНрд░рд╛рдЗрд╡рд░ рднреА рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВред рдирд┐рдпреЛрдЬрд┐рдд рдореВрд▓реНрдпрд╣реНрд░рд╛рд╕?

znmeb, рдЖрдкрдХрд╛ AMD GPU рдХреНрдпрд╛ рд╣реИ? рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рджреЛрд╣рд░реЗ GPU рд╣реИрдВ, рддреЛ рдЕрд╕рдорд░реНрдерд┐рдд GPU рдХреЛ BIOS рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░реЗрдВред

рд╕рдВрдкреВрд░реНрдг рд╕реВрддреНрд░ рдирд╣реАрдВ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрд╛... MacOS (рд╕рд┐рдПрд░рд╛ +) рдкрд░ OpenCL рдкрд░ tensorflow рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ? рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЗрдВрдЯреЗрд▓ рдЖрдИрд░рд┐рд╕ рдЬреАрдкреАрдпреВ рд╣реИ рдФрд░ рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдЯреАрдПрдл + рдУрдкрди рд╕реАрдПрд▓ рд╕рдорд░реНрдерди рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдВрд╕реНрдХрд░рдг 1.2.2 рдкрд░ tf рдХреЛрд░реНрд░реЗрдВрдбрд░ рдареАрдХ рдЪрд▓ рд░рд╣рд╛ рд╣реИред

@ varun19299 рдПрдлрдбрдмреНрд▓реНрдпреВрдЖрдИрдбрдмреНрд▓реНрдпреВ рдУрдкрдирд╕реАрдПрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯреЗрд▓ рдПрд╕рдбреАрдХреЗ рд╣реИ - рдореБрдЭреЗ рдпрд╣ рдореЗрд░реЗ рдкреНрд░рд╛рдЪреАрди рд╕реИрдВрдбреА рдмреНрд░рд┐рдЬ рд▓реИрдкрдЯреЙрдк рдкрд░ рдорд┐рд▓рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреА рдорд╢реАрди рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред https://software.intel.com/en-us/intel-opencl

рдХреНрдпрд╛ рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЧреИрд░-рдЙрдмрдВрдЯреВ рд▓рд┐рдирдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИ? рд░реЛрдбрдореИрдк рдкреЗрдЬ рдмрд╕ рдпрд╣рд╛рдВ рд▓рд┐рдВрдХ рдХрд░рддрд╛ рд╣реИред

@pfc рдХреНрдпрд╛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЧреИрд░-рдЙрдмрдВрдЯреВ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ? TensorFlow рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ OpenCL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ? рдпрд╛ TensorFlow рдПрдХ AMD GPU рдкрд░ OpenCL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ? рдореИрдВ рдмрд╛рдж рд╡рд╛рд▓рд╛ рдорд╛рди рд▓реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣реА рдПрдХрдорд╛рддреНрд░ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдк OpenCL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ TensorFlow рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдПрдХ рдПрдирд╡реАрдбрд┐рдпрд╛ рдЬреАрдкреАрдпреВ рдХреЗ рд▓рд┐рдП рдЖрдк рдПрдирд╡реАрдбрд┐рдпрд╛ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ/рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдХреЗрд╡рд▓ рд╕реАрдкреАрдпреВ рдХреЗ рд▓рд┐рдП рдУрдкрдирд╕реАрдПрд▓ рд╕реЗ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред

рдореИрдВрдиреЗ рдХреБрдЫ рд╣рдлрд╝реНрддреЗ рдкрд╣рд▓реЗ рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдорд╛рд▓рд┐рдХрд╛рдирд╛ ComputeCpp SYCL рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рдПрдХ AMD "рдмреЛрдиреЗрдпрд░" (рд╕реА рдЖрдЗрд▓реИрдВрдбреНрд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░) GPU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛ рдерд╛ред рдПрдХ рдирдпрд╛ ComputeCpp рд░рд┐рд▓реАрдЬ рд╣реИ рдЬрд┐рд╕реЗ рдореБрдЭреЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдХрд╛рдо рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЬрд┐рди AMDGPU Pro рдорд╛рд▓рд┐рдХрд╛рдирд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡реЗ Ubuntu 16.04.3 рдкрд░ рдирд╣реАрдВ рдЪрд▓рддреЗ рд╣реИрдВред 16.04.2 рд╕реЗ рдЕрдкрдЧреНрд░реЗрдб рдПрдХ рдирдП рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдФрд░ рдПрдХреНрд╕ рд╕рд░реНрд╡рд░ рдореЗрдВ рд▓рд╛рдпрд╛ рдЧрдпрд╛, рдФрд░ рдПрдПрдордбреА рдиреЗ рдЕрднреА рддрдХ рдХреБрдЫ рдРрд╕рд╛ рд╢рд┐рдк рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП http://support.amd.com/en-us/kb-articles/Pages/AMDGPU-PRO-Driver-Compatibility-Advisory-with-Ubuntu-16.04.2-and-16.04.3.aspx рджреЗрдЦреЗрдВред рдореИрдВ рдЙрдмрдВрдЯреВ рдкрд░ рдПрдПрдордбреА рдУрдкрдирд╕реАрдПрд▓ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд░рд╣рд╛ рд╣реВрдВред

TensorFlow рдХрд╛ рдПрдХ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ AMD рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬреЛ CUDA рдХреЛрдб рдХреЛ OpenCL рдХреЛрдб рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдПрдХ рд╕рдорд░реНрдерд┐рдд рдбреНрд░рд╛рдЗрд╡рд░ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ рдпрд╣ рдмреЗрдХрд╛рд░ рд╣реИред

https://github.com/ROCmSoftwarePlatform/hiptensorflow/tree/hip/rocm_docs рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ AMD рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдЯреЗрдВрд╕рд░ рдлреНрд▓реЛ рдЪрд▓рд╛рдиреЗ рдХрд╛ рд╕рдорд░реНрдерд┐рдд рддрд░реАрдХрд╛ рд╣реИред

@bensander рдХреНрдпрд╛ ROCm рд░рдирдЯрд╛рдЗрдо Ubuntu 16.04.3 рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ? рдореИрдВ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдВред

рдкреБрдирд╢реНрдЪ: рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рд╣реИ рдпрджрд┐ / рдЬрдм AMDGPU-Pro рд╕реЗрдЯрдЕрдк Ubuntu 16.04.3 рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛? рдореБрдЭреЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╣рдореНрдо, рдореИрдВ рдХрд╣реАрдВ рднреА рдЙрдмрдВрдЯреВ рдХрд╛ рдордЬрд╝рд╛ рдирд╣реАрдВ рд▓реЗрддрд╛ (рдФрд░ рдирд╣реАрдВ) рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ CentOS 7 w/repos рдФрд░ рдПрдХ GTX1080TI рд╣реИ, рдХрд░реНрдиреЗрд▓ 4.14.x рдФрд░ рдирд╡реАрдирддрдо рдПрдирд╡реАрдбрд┐рдпрд╛ рдмреАрдЯрд╛ рдбреНрд░рд╛рдЗрд╡рд░ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рд╡рд╣рд╛рдБ рдкрд░ рдЖрдЬ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдЕрдЧрд░ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ?

--
рд╕реИрдо рдореИрдХрд▓рд┐рдпреЛрдб

7 рджрд┐рд╕рдВрдмрд░ 2017 рдХреЛ 07:28 рдмрдЬреЗ рдПрдо. рдПрдбрд╡рд░реНрдб (рдПрдб) рдмреЛрд░рд╛рд╕реНрдХреА рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

@bensander рдХреНрдпрд╛ ROCm рд░рдирдЯрд╛рдЗрдо Ubuntu 16.04.3 рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ? рдореИрдВ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдВред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ, рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВред

@sammcj рдЖрдк рдУрдкрдирд╕реАрдПрд▓ рдХреЗ рд╕рд╛рде рдПрдирд╡реАрдбрд┐рдпрд╛ рдЬреАрдкреАрдпреВ рдХреНрдпреЛрдВ рдЪрд▓рд╛рдПрдВрдЧреЗ рдЬрдм рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдЪреНрдЫреА рд╕реАрдпреВрдбреАрдП рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реЛрдВ?

рдмрд╕ рдЗрд╕реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП!

рдХреЛрдИ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рдЕрдЧрд░ рдЖрдкрдХреЛ рд╣рд╛рде рдкрд░реАрдХреНрд╖рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдмрд╕ рд╕реЛрдЪрд╛ рдХрд┐ рдореИрдВ рдкреЗрд╢рдХрд╢ рдХрд░реВрдВрдЧрд╛ред рдореИрдВрдиреЗ рдЙрд╕ рдорд╢реАрди рдХреЛ cuda TBH рдХреЗ рд╕рд╛рде рднреА рдирд╣реАрдВ рдЖрдЬрд╝рдорд╛рдпрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕реЗ рдХреЗрд╡рд▓ MacOS рдкрд░ рдЖрдЬрд╝рдорд╛рдпрд╛ рд╣реИ рдЬрд╣рд╛рдБ рдореИрдВ рдЗрд╕ рд╕рдордп Docker рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ OpenCL рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

--
рд╕реИрдо рдореИрдХрд▓рд┐рдпреЛрдб

7 рджрд┐рд╕рдВрдмрд░ 2017 рдХреЛ 08:16 рдмрдЬреЗ рдПрдо. рдПрдбрд╡рд░реНрдб (рдПрдб) рдмреЛрд░рд╛рд╕реНрдХреА рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

@sammcj рдЖрдк рдУрдкрдирд╕реАрдПрд▓ рдХреЗ рд╕рд╛рде рдПрдирд╡реАрдбрд┐рдпрд╛ рдЬреАрдкреАрдпреВ рдХреНрдпреЛрдВ рдЪрд▓рд╛рдПрдВрдЧреЗ рдЬрдм рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдЪреНрдЫреА рд╕реАрдпреВрдбреАрдП рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реЛрдВ?

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ, рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВред

@znmeb рдореИрдВ ComputeCpp SYCL рдХреЛ рдЖрдЬрд╝рдорд╛рдиреЗ рдЬрд╛ рд░рд╣рд╛ рдерд╛, рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╡реЗ рдХреЗрд╡рд▓ ubuntu рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ (рдореИрдВ рднреА рдЖрд░реНрдЪ рдкрд░ рд╣реВрдБ) рдФрд░ aur рдЗрдВрд╕реНрдЯреЙрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреВрдЯ рдЧрдИ рд╣реИред рдпрд╣ рд╕реБрдирдХрд░ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЕрдЧрд░ рдореИрдВ рдХрд╛рдлреА рд╣рддрд╛рд╢ рд╣реЛ рдЬрд╛рдКрдВ рддреЛ рдореИрдВ рдЗрд╕реЗ рдЖрдЬрдорд╛ рд╕рдХрддрд╛ рд╣реВрдВред
@bensander рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдПрдбреАрдПрдо рд╕рдорд░реНрдерди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЗрд╕ рддрдереНрдп рд╕реЗ рдЪрд┐рдВрддрд┐рдд рд╣реВрдВ рдХрд┐ рдЗрд╕ рдХреЛрдб рдХреЛ рдЯреАрдПрдл рдореЗрдВ рдмреИрдХ-рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдХреЛрдб рдЖрдЦрд┐рд░реА рдмрд╛рд░ 2 рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░рд╛ рдХреЛрдб рдЯреАрдПрдл 1.4 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред 0
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдлрд┐рд▓рд╣рд╛рд▓ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдЖрдкрдХреЛ рдПрдирд╡реАрдбрд┐рдпрд╛ рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рд╣рдорд╛рд░реЗ рд▓рд┐рдП "рдирд╢реНрд╡рд░" рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг/рдЕрджреНрдпрддрди рд░реЛрдбрдореИрдк рдХрд╛ рдЕрднрд╛рд╡ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реЛрдЧреА, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдЕрдм рддрдХ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдХрдо рд╕рдлрд▓рддрд╛ рдорд┐рд▓реА рд╣реИред

@pfc рдореБрдЭреЗ рдЖрд░реНрдХ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ ComputeCpp SYCL рдорд┐рд▓рд╛ - рдЬрдм рдореИрдВрдиреЗ рдРрд╕рд╛ рдХрд┐рдпрд╛ рддреЛ рдЙрдирдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рдмрд╛рдЗрдирд░реА рдЯреИрд░рдмреЙрд▓ рдерд╛ред

рдЗрд╕ рдЦрдмрд░ рдореЗрдВ SYCL 1.2.1 рдХреА рд░рд┐рд▓реАрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
https://www.roboticstomorrow.com/news/2017/12/06/the-khronos-group-releases-finalized-sycl-121-/11107/
рдЗрд╕реЗ рдХрд╣рддреЗ рд╣реИрдВ :
_рдирдП рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдореЗрдВ рддреАрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиреЛрдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдиреБрднрд╡ рдФрд░ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рдЬреИрд╕реЗ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рдЕрдм рдореВрд▓ CUDA рддреНрд╡рд░рдХ рдмреИрдХ-рдПрдВрдб рдХреЗ рд╕рд╛рде SYCL рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред_

рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЕрдм TensorFlow рдХреЛ AMD GPU рдкрд░ "рдЖрд╕рд╛рдиреА рд╕реЗ" рдЪрд▓рд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдЬреЛ OpenCL 1.2 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ SYCL рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ?

"рдЖрд╕рд╛рдиреА рд╕реЗ" рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рдХрд┐ рдПрдПрдордбреА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░/рдбреНрд░рд╛рдЗрд╡рд░/рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИрдВ рдЬрд╣рд╛рдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЯреВрдЯреА рд╣реБрдИ рдЪреАрдЬреЗрдВ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдпрд╛ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рдпрд╛ рдУрдкрдирд╕реАрдПрд▓ рдорд╛рдирдХреЛрдВ рдпрд╛ рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВред ;-) рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдПрдордбреА рдЬреАрдкреАрдпреВ рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдУрдкрдирд╕реАрдПрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдПрдПрдордбреА рдЬреАрдкреАрдпреВ рдкрд░ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рдорд┐рд▓рд╛ рд╣реИред

рдПрдПрдордбреА рдмреЛрдиреЗрдпрд░ (рд╕реА рдЖрдЗрд▓реИрдВрдбреНрд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░) рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рд╡рд░реНрдХрд┐рдВрдЧ рд╕реЗрдЯрдЕрдк:

amdgpu рдХрд░реНрдиреЗрд▓ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ radeon рдХрд░реНрдиреЗрд▓ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдмреНрд▓реИрдХрд▓рд┐рд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛
рдЖрд░реНрдХ рдпреВрдЬрд░ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдкреИрдХреЗрдЬ opencl-amd
рдХрдВрдкреНрдпреВрдЯрд╕реАрдкреАрдкреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА
TensorFlow @lukeiwanski рдХреЗ рдХрд╛рдВрдЯреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЗрд░реЗ рдХрд╛рд░реНрдп рдХреЗрдВрджреНрд░ рдкрд░ рд╕реНрд░реЛрдд рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:

https://github.com/tensorflow/tensorflow/issues/22#issuecomment-334154564

рдЖрдкрдиреЗ рдЬреЛ рдХрд╣рд╛ рдЙрд╕рд╕реЗ рдореИрдВ рдереЛрдбрд╝рд╛ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рд╣реВрдВ "рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдПрдордбреА рдЬреАрдкреАрдпреВ рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдУрдкрдирд╕реАрдПрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдПрдПрдордбреА рдЬреАрдкреАрдпреВ рдкрд░ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ"ред рдореИрдВ рд╕рдордЭ рдЧрдпрд╛ рдерд╛ рдХрд┐ TensorFlow "рдЖрдзрд┐рдХрд╛рд░рд┐рдХ" рд╕рдВрд╕реНрдХрд░рдг OpenCL (рдХреЗрд╡рд▓ CUDA) рдкрд░ рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рдерд╛ред рд▓рдЧрддрд╛ рд╣реИ рдореИрдВ рднреНрд░рдорд┐рдд рд╣реЛ рдЧрдпрд╛ред
рдореИрдВ рдкреНрд▓реЗрдбрдПрдордПрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдкрд╛рдХрд░ рдХрд╛рдлреА рдЦреБрд╢ рдерд╛ рдЬреЛ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдХреЗрд░рд╕ рдХреЛрдб рдХреЛ рдореЗрд░реЗ рдЖрдИрдореИрдХ рдкрд░ рдПрдПрдордбреА рд░реЗрдбрд┐рдпрди рдПрдЪрдбреА 6970 рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред (https://groups.google.com/forum/#!topic/plaidml-dev/ksFMgxjgKrM ) AFAIK рдЖрдкрдиреЗ рдЙрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рднреА рдЖрдЬрдорд╛рдпрд╛ рд╣реИред
рдореИрдВ Ubuntu VirtualBox рдкрд░ TensorFlow рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреВрдВрдЧрд╛, Tensorflow рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд▓ рд░рд╣рд╛ рд╣реИ (рдХреЗрд╡рд▓ CPU)ред

@PALYGAP рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рдореИрдХ рд╣реЛрд╕реНрдЯ рд╕реЗ рдУрдкрдирд╕реАрдПрд▓ рдХреЛ рд▓рд┐рдирдХреНрд╕ рдЕрддрд┐рдерд┐ рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЙрдмрдВрдЯреВ 16.04.3 рдЕрднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдореИрдХ рдирд╣реАрдВ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдЪреАрдЬреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред

рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ OpenCL рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ AMD рдкрд░ TensorFlow рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдФрд░ рд╕рдлрд▓ рд╣реБрдЖ?

@mohnkhan рдореЗрд░реЗ рдкрд╛рд╕ @lukeiwanski рдХрд╛рдВрдЯрд╛ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ (рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕) - https://github.com/tensorflow/tensorflow/issues/22#issuecomment-349877056 рджреЗрдЦреЗрдВ ред рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореИрдВ рдХреБрдЫ рдФрд░ рдПрдПрдордбреАрдЬреАрдкреАрдпреВ-рдкреНрд░реЛ рдХрд╛рдо рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ - https://github.com/corngood/archlinux-amdgpu/pull/54 рджреЗрдЦреЗрдВ ред

@znmeb рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж

@ рдореЛрд╣рдирдЦрд╛рди рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ, рдПрдПрдордбреА рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкрде рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╣реИ - рд╕реАрдпреВрдбреАрдП рдХреЛрдб рдХреЛ рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдЯреВрд▓рдЪреЗрди рдХреЗ рд╕рд╛рде рдУрдкрдирд╕реАрдПрд▓ рдХреЛрдб рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдирд╛ред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдЬреИрд╕реЗ рдкреБрд░рд╛рдиреЗ рдХрд╛рд░реНрдбреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдореЗрдВ рднреА рдХреЛрдИ рджрд┐рдХреНрдХрдд рдирд╣реАрдВ рд╣реЛрдЧреА (рдкреВрд░реА рддрд╕реНрд╡реАрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ 3 рдШрдВрдЯреЗ рд▓рдЧ рдЧрдП):

рдФрд░ рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдЕрдВрддрддрдГ рдЖрдкрдХреЛ рд╕реАрдзреЗ рдЖрдкрдХреЗ рдЦреВрдиреА рд▓рд╛рд▓рд┐рддреНрдп OpenCL 1.2 (w/ cl_khr_spir ext) рдкрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ

рдПрдЪрдЖрдИрдкреА рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЕрднреА рддрдХ рдПрдХ рдФрд░ рдмреИрдХрдПрдВрдб рд╣реИ, рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдХреЗ рд╡рд┐рдкрд░реАрдд рдмреИрдарддрд╛ рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЖрд░рдУрд╕реАрдПрдо рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ (рдпрд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдПрд▓рдУрдПрд▓, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдмрджрд▓реЗ рдореЗрдВ рдХреНрдпреВрдбрд╛ рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдирд╡реАрдбрд┐рдпрд╛ рдЬреАрдкреАрдпреВ рд╣реИ .. рд▓реЗрдХрд┐рди рдпрд╣ рдлрд┐рд░ рд╕реЗ рдПрдХ рдФрд░ рдХрд╣рд╛рдиреА рд╣реИ)

рдПрдПрдордбреА рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкрде рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╣реИ - рд╕реАрдпреВрдбреАрдП рдХреЛрдб рдХреЛ рдУрдкрдирд╕реАрдПрд▓ рдХреЛрдб рдореЗрдВ рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдЯреВрд▓рдЪреЗрди рдХреЗ рд╕рд╛рде рдЕрдиреБрд╡рд╛рдж рдХрд░рдирд╛ред

рдирд╣реАрдВред рдЖрдк рдПрдЪрдЖрдИрдкреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ .. рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣реА рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдк рдЕрдВрддрддрдГ рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ . рдЬреЛ рдУрдкрдирд╕реАрдПрд▓ рдирд╣реАрдВ рд╣реИред
HIP рддрдм ROCm рдкрд░ рдЪрд▓рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдореИрдВ рдХрд╣ рд░рд╣рд╛ рдерд╛...
ROCm рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП (рд╕рдорд░реНрдерд┐рдд рдХрд╛рд░реНрдбреЛрдВ рдкрд░ ) OpenCL рднреА рдЪрд▓рд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ рдореИрдВ рд╕рднреА рдХреЛ рдпрд╣ рдиреЛрдЯрд┐рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрд░ рджреВрдВрдЧрд╛ рдХрд┐ рд╕рдВрдмрдВрдз рдХреЗрд╡рд▓ ROCm рд╕реЗ рдХреИрд╕реЗ рдЖрдЧреЗ рд╣реИрдВ, рдХрднреА рднреА "рдЗрдВрдЯреНрд░рд╛-рд╕рдм-рд▓реЗрдпрд░реНрд╕" рдирд╣реАрдВ

рдЖрдк рд╢рд╛рдпрдж рдЬрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдзрдирд┐рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдЬреИрд╕реЗ рдкреБрд░рд╛рдиреЗ рдХрд╛рд░реНрдбреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИред

рдпрд╣рд╛рдБ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд AMDGPU-PRO, amdgpu-pro-opencl-only рдбреНрд░рд╛рдЗрд╡рд░ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЕрднреА рдХрд░ рд░рд╣реЗ рд╣реИрдВ ...

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, fglrx... рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдкреНрд░реА-рдЬреАрд╕реАрдПрди рдХрд╛рд░реНрдб рдХреЗ рд▓рд┐рдП рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд░реНрджрд╛ рд╣рдЯрд╛рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред

@mirh

  1. рдореБрдЭреЗ рдкреНрд░реА-рдЬреАрд╕реАрдПрди рдХрд╛рд░реНрдб рд╕реЗ рдХреЛрдИ рд╕рд░реЛрдХрд╛рд░ рдирд╣реАрдВ рд╣реИред рдореЗрд░рд╛ рдПрдХ рд╕рдореБрджреНрд░реА рджреНрд╡реАрдк рд╣реИ рдФрд░ рдореИрдВ рдХреБрдЫ рднреА рдкреБрд░рд╛рдирд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВред рддреЛ рдлрд┐рд░, рдореИрдВ рдПрдХ рдФрд░ рдПрдПрдордбреА рдЬреАрдкреАрдпреВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВред ;-)
  2. рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЖрд░рдУрд╕реАрдПрдо рдореЗрд░реЗ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдкрд░ рдЪрд▓реЗрдЧрд╛ рдпрд╛ рдирд╣реАрдВ - рдХреЛрдИ рдУрдкрди рд╕реЛрд░реНрд╕ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЯреЗрд╕реНрдЯрд░ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдореБрдЭреЗ рд╣рд╛рдВ рдпрд╛ рдирд╛ рдореЗрдВ рдЬрд╡рд╛рдм рджреЗ рд╕рдХреЗред рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдореБрджреНрджрд╛ рдЦреЛрд▓рд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдорд┐рд▓реА рд╣реИред
  3. SPIR-V рдПрдХ рд╕рдВрдХрд▓рдХ рд▓рдХреНрд╖реНрдп рд╣реИ - рдореИрдВрдиреЗ рдЗрд╕ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реА рдФрд░ рдПрдХ рд╕рдВрдХрд▓рдХ рд▓реЗрдЦрдХ рдХреЛ рдХрд╛рдо рдкрд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдЬрдЯ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдЕрдкрдиреЗ рд╣рд╛рде рдКрдкрд░ рдХрд░ рджрд┐рдПред

рддреЛ рд╡рд╣ SYCL рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ ... рдпрд╛ рдореЗрд░реЗ рдЕрдиреНрдп рджреЛ рд╣рд╛рдереЛрдВ рдХреЛ рдлреЗрдВрдХ рджреЗрддрд╛ рд╣реИ рдФрд░ Keras рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ TensorFlow, Theano (рдЬреЛ рдЬрдо рд░рд╣рд╛ рд╣реИ), CNTK рдпрд╛ PlaidML рдмреИрдХ рдПрдВрдб рд╣реИред рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдЕрд░реНрдерд╢рд╛рд╕реНрддреНрд░ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, Keras / PlaidML рдПрдХ рдмрдбрд╝рд╛ рд╡рд┐рдЬреЗрддрд╛ рд╣реИ рдмрд╢рд░реНрддреЗ рдореБрдЭреЗ рдХрд┐рд╕реА рддрд░рд╣ TensorBoard рдорд┐рд▓ рдЬрд╛рдПред

@mirh рд╕рднреА рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреЗ рд╕рд╛рд░рд╛рдВрд╢ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЕрдкрдиреЗ 3 рдШрдВрдЯреЗ рдмрд░реНрдмрд╛рдж рдирд╣реАрдВ рдХрд┐рдП... :-)

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЖрд░рдУрд╕реАрдПрдо рдореЗрд░реЗ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдкрд░ рдЪрд▓реЗрдЧрд╛ рдпрд╛ рдирд╣реАрдВ - рдХреЛрдИ рдУрдкрди рд╕реЛрд░реНрд╕ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЯреЗрд╕реНрдЯрд░ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдореБрдЭреЗ рд╣рд╛рдВ рдпрд╛ рдирд╛ рдореЗрдВ рдЬрд╡рд╛рдм рджреЗ рд╕рдХреЗред рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдореБрджреНрджрд╛ рдЦреЛрд▓рд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдорд┐рд▓реА рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЖрдкрдХреЛ рдХрдИ рдмрд╛рд░ рдХрд╣рд╛ рд╣реИ, рдирд╣реАрдВ, рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдкреНрд░реА GCN 3rd gen gpus рдореЗрдВ ROCm рдХреЗ рд▓рд┐рдП рдпрд╛ рддреЛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреА рдХрдореА рд╣реЛрддреА рд╣реИред

SPIR(-V)... рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рдХреА рдкрд░рд╡рд╛рд╣ рдХрд░рдирд╛ рдЖрдкрдХрд╛ рдХрд╛рдо рдирд╣реАрдВ рд╣реИред Computecpp рдЗрд╕реЗ SYCL "рдХрдорд╛рдВрдб" рд╕реЗ рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдпрд╣ рд╕рдм (рдУрдкрдирд╕реАрдПрд▓) рдбреНрд░рд╛рдЗрд╡рд░ рд╡реНрдпрд╡рд╕рд╛рдп рд╣реИред

рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╣ рд╣реИ рдЬреЛ рдореИрдВ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ amdgpu-pro-opencl-only рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИред
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рд▓реНрдпреВрдХ рдХреЗ рдХреЛрдб рдХреЗ рдЙрддрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдИрдЯреАрдП рд╣реЛрдирд╛ рднреА рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛

@znmeb рдФрд░ рд╣рд░ рдХреЛрдИ

рдореЗрд░реЗ рдкрд╛рд╕ (рдПрд▓) рдЙрдмрдВрдЯреВ 17.10 рд╢рд╛рдорд┐рд▓ рд╣реИред рдХрд░реНрдиреЗрд▓ 4.14.x рдФрд░ рдПрдПрдордбреАрдЬреАрдкреАрдпреВ рдкреНрд░реЛ 17.40 рдбреНрд░рд╛рдЗрд╡рд░ рд╕реЗ рдУрдкрдирд╕реАрдПрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд╛рд░реНрдЯреНрд╕ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдореЗрд░реЗ рдПрдПрдордбреА рдП12-9800 рдИ рдПрдкреАрдпреВ рдкрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХреНрд▓рд┐рдиреЛрдлреЛ рдпрд╛ рдмреЛрдЗрдирдХ (рдЬреИрд╕реЗ рдПрдВрдЬрд┐рдорд╛ @ рд╣реЛрдо, рдорд┐рд▓реНрдХреАрд╡реЗ @ рд╣реЛрдо) рдЬреИрд╕реЗ рдУрдкрдирд╕реАрдПрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ (рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг 1.4.1) CPU рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рднреА рд╕рдлрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдореИрдВ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдХреЗ рдУрдкрдирд╕реАрдПрд▓ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ред рдореИрдВ рд╡рдиреАрд▓рд╛ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ 1.4.1 рдФрд░ @lukeiwanski рдХреЗ рдХрд╛рдВрдЯреЗ рд╕реЗ "dev/amd_gpu" рд╢рд╛рдЦрд╛ рдХреЗ рд╕рд╛рде, рдХрдВрдкреНрдпреВрдЯреЗрдХрдк 0.5 (рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЬрд┐рд╕реЗ рдореИрдВ рдкрдВрдЬреАрдХрд░рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

рддреЛ рдХреНрдпрд╛ рдХреЛрдИ рдРрд╕рд╛ рд╡реНрдпрдХреНрддрд┐ рдЦреБрд╢ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдиреЗ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рдХреЗ рдУрдкрдирд╕реАрдПрд▓ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрдВрдкреНрдпреВрдЯреЗрдХрдк рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рд╡рд╣ рдХрд┐рд╕ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рдЧрд┐рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ?

рд╢реБрдХреНрд░рд┐рдпрд╛

@AlphasCodes рдореЗрд░реЗ рдкрд╛рд╕ рдЙрдмрдВрдЯреВ рдкрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ - рдореЗрд░реА рд╕рднреА рдХрд╛рдордХрд╛рдЬреА рдЪреАрдЬреЗрдВ рдЖрд░реНрдХ рдкрд░ рд╣реИрдВред рдореЗрд░реЗ рдкрд╛рд╕ рдЙрдмрдВрдЯреВ 16.04.3 рдХреЗ рд╕рд╛рде рджреЛрд╣рд░реА рдмреВрдЯ рд╡рд╛рд▓реА рдорд╢реАрди рд╣реИ рд▓реЗрдХрд┐рди рдПрдПрдордбреА рдорд╛рд▓рд┐рдХрд╛рдирд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЕрднреА рддрдХ рд╡рд╣рд╛рдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ 17.10 рдХреЛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдУрдкрдирд╕реАрдПрд▓ рдЯреБрдХрдбрд╝рд╛ 17.10 рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рддреЛ рдореИрдВ рдПрдХ рддреАрд╕рд░рд╛ рдмреВрдЯ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВ - рдореЗрд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рд╣реИрдВред ;-)

рдЖрдкрдХреЛ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓ рд░рд╣реА рд╣реИрдВ? рдЕрдЧрд░ рд╡реЗ рдмрд┐рд▓реНрдб рдПрд░рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ Bazel рдЕрд╕рдВрдЧрддрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИред TensorFlow рдХреА рддрд░рд╣ Bazel рд▓рдЧрд╛рддрд╛рд░ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХрднреА-рдХрднреА рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдЖрдЧреЗ рдирд┐рдХрд▓ рдЬрд╛рдПрдЧрд╛ред

рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ, "рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ"?

рдпрд╣ ред
рдЙрдмрдВрдЯреВ рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ 16.04.3 рдХреЛ рд╕рдорд░реНрдерд┐рдд рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ (рдХрдо рд╕реЗ рдХрдо рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЖрд░реНрдХ рдХреЛ рднреА рдХреБрдЫ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрд╛рджреВ рдХреЗ рдмрд╛рдж рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ)
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: 'рдкреВрд░реНрдг' AMDGPU-PRO рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдХрд░реНрдиреЗрд▓ 4.9 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдпрд╣ рд╕рдВрднрд╡рддрдГ рд╕рдорд╕реНрдпрд╛ рдереА

рдЕрдЧрд░ рдХреЛрдИ рдкрд░рд╡рд╛рд╣ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдПрдПрдордбреАрдЬреАрдкреАрдпреВ-рдкреНрд░реЛ рдбреНрд░рд╛рдЗрд╡рд░ 17.40 рд╕реЗ рдЖрд░реНрдХ рдХрд╛ рдкреЛрд░реНрдЯ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ https://github.com/corngood/archlinux-amdgpu/pull/54 рдкрд░ рдЧрд┐рдЯрд╣рдм рдкрд░ рдмрд╣реБрдд рд╕рдХреНрд░рд┐рдп рд╣реИ,

рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ @mirh рдиреЗ рдмрддрд╛рдпрд╛, TensorFlow SYCL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, OpenCL рдХрд╛ рдирд╣реАрдВред рд╢рд╛рдпрдж рд╣рдореЗрдВ рдПрдХ рдФрд░ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, "рдПрдПрдордбреА рдХрд╛рд░реНрдб рдкрд░ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ" ??

рдирд╣реАрдВ, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡реИрдз рд╣реИред
рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдЕрдВрддрддрдГ рдУрдкрдирдХреНрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдЪрд▓реЗ, рдпрд╣реА рдЙрджреНрджреЗрд╢реНрдп рд╣реИред рд╡реИрдз рдФрд░ рдЕрдВрддред
рдпрд╣ рдХрд╣рдирд╛ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ SYCL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛, рдХреЗрд╡рд▓ рдПрдХ рддрдХрдиреАрдХреА рдирд╛рдЗрдЯрдкрд┐рдХ рдерд╛ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдмрдирд╛рдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рддрдХрдиреАрдХреЛрдВ рдХреЗ рдпреЗ рд╕рднреА рдпреЛрдЧ рдореБрдЭреЗ рдкрд╛рдЧрд▓ рдмрдирд╛ рд░рд╣реЗ рдереЗред
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдореИрдВ рд╕рднреА рдХреЛрдбрдкреНрд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдЙрдирдХреЗ рд╢рд╛рдирджрд╛рд░ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ

рдпрджрд┐ рдЖрдк рдХреБрдЫ рдРрд╕рд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдПрдордбреА рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ, рддреЛ рдореИрдВ рдЙрдирдХреЗ рд╣рд┐рдкрдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреВрдВрдЧрд╛ред ROCm-рдХреЗрд╡рд▓ рд╣рд╛рд▓рд╛рдВрдХрд┐ред рдФрд░ рдХреГрдкрдпрд╛, рдЗрд╕ рддрд░реНрдХ рдХреЛ рдкреАрдЫреЗ рдЫреЛрдбрд╝ рджреЗрдВред

рдареАрдХ рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдлрд┐рд░ рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдордп рд╣реИ рдФрд░ рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рддрдХ рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкреНрд░рджрд╛рди рдХрд░реЗрдВред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХреЛ рдЕрдкрдиреЗ рдирдП рдЬреАрдердм рд░реЗрдкреЛ рдореЗрдВ рдЬреЛрдбрд╝рд╛ред

рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП https://github.com/AlphasCodes/DeepLearning рджреЗрдЦреЗрдВ (рдореЗрд░рд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░/рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕реЗрдЯрдЕрдк + AMD OpenCL рд╕реЗрдЯрдЕрдк + Tensorflow рд╕реЗрдЯрдЕрдк)ред

@mirh "рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреЗ рд╢рдмреНрджрдХреЛрд╖ [...] рдХреЛ [рдЖрдк] рдкрд╛рдЧрд▓" рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

рдЦреНрд░реЛрдиреЛрд╕ рдЧреНрд░реБрдк рдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ, рдУрдкрдирд╕реАрдПрд▓ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдЧреИрд░-рдПрдХрд▓ рд╕реНрд░реЛрдд рдПрдкреАрдЖрдИ рд╣реИ рдФрд░ рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдПрдХрд▓-рд╕реНрд░реЛрдд рд╕реА ++ рдбреЛрдореЗрди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрдореНрдмреЗрдбреЗрдб рднрд╛рд╖рд╛ (рдбреАрдПрд╕рдИрдПрд▓) рд╣реИред SYCL рдХреЛ OpenCL рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдмрдирд╛рдП рдЬрд╛рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрдм рдЖрдк SYCL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрдХреНрд╕рд░ рдЖрдк OpenCL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдЪреВрдВрдХрд┐ TensorFlow Eigen рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдХрд▓-рд╕реНрд░реЛрдд CUDA рдХреЗ рд╕рд╛рде рдПрдХрд▓ -рд╕реНрд░реЛрдд C++ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрдм рдЗрд╕реЗ рдмрд╛рдж рдореЗрдВ OpenCL рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, SYCL рдХреЛ рдЗрд╕рд▓рд┐рдП рдЪреБрдирд╛ рдЧрдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХрд▓-рд╕реНрд░реЛрдд C++ рдХреЗ рд▓рд┐рдП Khronos Group рдорд╛рдирдХ рддрд░реАрдХрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк CUDA рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдФрд░ рднреА рд╕реВрдХреНрд╖реНрдо рд╣реИред

рд▓рдЧрднрдЧ рд╣рд░ рдХреЛрдИ CUDA рдХреЗ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдПрдХрд▓-рд╕реНрд░реЛрдд рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "CUDA рд░рдирдЯрд╛рдЗрдо API" рдирд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдХрд┐рд╕реА рддрд░рд╣ SYCL рдХреЗ рд╕рдорд╛рди рд╣реИред
рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ CUDA рдХрд╛ рдПрдХ рдХрдо рдЬреНрдЮрд╛рдд рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдЧреИрд░-рдПрдХрд▓-рд╕реНрд░реЛрдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬрд┐рд╕реЗ OpenCL рдХреЗ рд╕рдорд╛рди "CUDA рдбреНрд░рд╛рдЗрд╡рд░ API" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП "CUDA рд░рдирдЯрд╛рдЗрдо API" рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЪреВрдВрдХрд┐ рдпрд╣ рдПрдХ рддрд░рд╣ рдХрд╛ рдПрдлрдПрдХреНрдпреВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ https://en.wikipedia.org/wiki/SYCL рдФрд░ https://en.wikipedia.org/wiki/CUDA рдХреЛ рдереЛрдбрд╝рд╛ рд╕реНрдкрд╖реНрдЯ рдХрд┐рдпрд╛ рд╣реИред

ComputeCpp рдЬреЛ рдХрд┐ SYCL рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк TensorFlow рдХреЗ рд╕рд╛рде рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЕрднреА рддрдХ Ubuntu 17.10 рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдЙрдмрдВрдЯреВ 16.04 рд╕реЗ рдЪрд┐рдкрдХреЗ рд░рд╣рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдПрд▓рдЯреАрдПрд╕ рд╣реИред рдирд┐рд░реНрджреЗрд╢ рдФрд░ рдкреВрд░реНрд╡рд╛рдкреЗрдХреНрд╖рд╛рдПрдБ рдпрд╣рд╛рдБ рд╣реИрдВ https://developer.codeplay.com/computecppce/latest/getting-started-with-tensflow

рдПрдХ рддрд░рдл, TensorFlow рдХреЗ рд▓рд┐рдП OpenCL рд╕рдорд░реНрдерди рдХрд╛ рдорддрд▓рдм рдХреЗрд╡рд▓ AMD рдбрд┐рд╡рд╛рдЗрд╕ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред SYCL рдПрдХреАрдХрд░рдг рдЕрдиреНрдп OpenCL рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рднреА рд╕рдХреНрд╖рдо рдХрд░ рд░рд╣рд╛ рд╣реИред TensorFlow рдХреЗ рд╕рд╛рде рд╣рдо рдЬреЛ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ, ARM рдФрд░ Intel GPU рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рддрдм рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ рдЬрдм рдЗрди рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рдирд╡реАрдирддрдо рдбреНрд░рд╛рдЗрд╡рд░ рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреЗред рд╣рдо R-Car рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рднреА Renesas рддреНрд╡рд░рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред

@rodburns рдзрдиреНрдпрд╡рд╛рдж! рдореЗрд░реЗ рдкрд╛рд╕ рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ (4.14.4 рдХрд░реНрдиреЗрд▓) рдкрд░ рдЖрд░реНрдХ рдпреВрдЬрд░ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рд╕реЗ рдУрдкрдирдХреНрд▓-рдПрдПрдордбреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдХрд╛рд░реНрдб рдПрдХ рдмреЛрдиреЗрдпрд░ (рдЬреАрд╕реАрдПрди 2.0) рд╣реИред рдореИрдВ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕ рдкреГрд╖реНрда рдкрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдКрдВрдЧрд╛ рдХрд┐ рдпрд╣ рд╡рд╣реА рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдЙрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

GCN 2nd gen (рдЙрд░реНрдл 1.1) рдпрджрд┐ рдХреЛрдИ рд╣реЛ, 2.0 рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред
(рдЗрддрдирд╛ рдкрд╛рдВрдбрд┐рддреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)

рд╕рдлрд▓рддрд╛!

@lukeiwanski fork рдореЗрдВ рдирд╡реАрдирддрдо "dev/amd_gpu" рд╢рд╛рдЦрд╛ рдиреЗ рдореЗрд░реЗ Tensorflow OpenCL рд╕рдВрдХрд▓рди рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ SysCL 1.2.1 рд╕рдВрдмрдВрдзрд┐рдд рдХрдорд┐рдЯ рдерд╛ред

рдореИрдВрдиреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдПрдХ Tensorflow OpenCL рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ Tensorflow рд╕реЗрдЯрдЕрдк рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВред

рдореИрдВрдиреЗ рдПрдХ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдкреЗрдЬ рднреА рдЬреЛрдбрд╝рд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рд╕реЗрдЯрдЕрдк (рдЧреИрд░ рд╕реАрдкреАрдпреВ рдЕрдиреБрдХреВрд▓рд┐рдд, рд╕реАрдкреАрдпреВ рдЕрдиреБрдХреВрд▓рд┐рдд, рдУрдкрдирд╕реАрдПрд▓) рдХреЗ рддрд╣рдд рдореЗрд░реЗ рд╕реЗрдЯрдЕрдк рдХреЗ рдХреБрдЫ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред

AMDGPU рдкреНрд░реЛ рдбреНрд░рд╛рдЗрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг 17.50 рднреА рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рд╕рдВрдмрдВрдзрд┐рдд AMD OpenCL рд╕реЗрдЯрдЕрдк рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИред

рд╕рднреА рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдзрдиреНрдпрд╡рд╛рджред

рдореИрдВрдиреЗ рдХреБрдЫ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХрд┐рдП рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ iGPU matmul_bench.py тАЛтАЛрдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреЛ рдЫреЛрдбрд╝рдХрд░ 4 рдЙрдкрд▓рдмреНрдз CPU рдереНрд░реЗрдбреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдзреАрдорд╛ рд╣реИред

OpenCL Tensorflow рд░рди рдХрд╛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рднреА рдХреЗрд╡рд▓ CPU OpenCL Tensorflow рд░рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдзреАрдорд╛ рд╣реИред рдУрдкрдирд╕реАрдПрд▓ рдХреЗ рд▓рд┐рдП рд╕реАрдкреАрдпреВ рдмрдирд╛рдо 1-2 рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП 5 рд╕реЗрдХрдВрдб рдЬреИрд╕рд╛ рдХреБрдЫред

рдХреНрдпрд╛ рдХреЛрдИ рдРрд╕реЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

рдареАрдХ рд╣реИ рдореИрдВрдиреЗ рдХреБрдЫ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдХрд┐рдпрд╛ред

  • рдореИрдВрдиреЗ Tensorflow MNIST рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рдПрдХ Tensorflow рд╕реЗрдЯрдЕрдк рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рджреЗрдЦреЗрдВ
  • рдореИрдВрдиреЗ рд╕реАрдкреАрдпреВ рд▓реЛрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдИрдЬреАрдкреАрдпреВ рдШрдбрд╝реА/рд▓реЛрдб рдФрд░ "рдЯреЙрдк" рдХреА рдЬрд╛рдВрдЪ/рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП "рд╕реБрдбреЛ рдХреИрдЯ/sys/рдХрд░реНрдиреЗрд▓/рдбреАрдмрдЧ/рдбреАрдЖрд░рдЖрдИ/0/amdgpu_pm_info" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛
  • рдЪрд░рдг 0 рддрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдг рдореЗрдВ рд▓рдЧрднрдЧ 6 рдорд┐рдирдЯ рд▓рдЧреЗ, iGPU рд▓реЛрдб рд▓рдЧрднрдЧ 0% рдерд╛, iGPU рдШрдбрд╝реА 300 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ (рдиреНрдпреВрдирддрдо рдЙрдкрд▓рдмреНрдз рдШрдбрд╝реА) рдкрд░ рдФрд░ рдЕрдЬрдЧрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ CPU рдЙрдкрдпреЛрдЧ рд▓рдЧрднрдЧ 200% (= 2 рдзрд╛рдЧреЗ) рдерд╛ред
  • рдЪрд░рдг 0 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░ iGPU рд▓реЛрдб рд▓рдЧрднрдЧ 90% рдерд╛, iGPU рдШрдбрд╝реА рд╣рдореЗрд╢рд╛ 654 MHz - 720 MHz - 800 MHz - 900 MHz (рдЕрдзрд┐рдХрддрдо рдЙрдкрд▓рдмреНрдз рдШрдбрд╝реА) рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХреА рдЧрдИ рдФрд░ рдкреАрдЫреЗ, рдЕрдЬрдЧрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ CPU рдЙрдкрдпреЛрдЧ рд▓рдЧрднрдЧ 100% (= 1 CPU) рдерд╛ рдзрд╛рдЧрд╛)

рдореИрдВ рдЕрднреА рднреА рдЖрд░реНрдХ рдкрд░ рдЪреАрдЬреЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдореИрдВрдиреЗ рдХрд▓ рдХреНрдпрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ ред
14 рдШрдВрдЯреЗ рдХреЗ рдмрд╛рдж (рд╣рд╛рдБ, рдореЗрд░рд╛ рдЖрд▓реВ рдмрд╣реБрдд рдзреАрдорд╛ рд╣реИ) рдЕрдЧрд░ рдЖрдк рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдореБрдЭреЗ рдпрд╣ рдмрд╛рдЗрдирд░реА рдорд┐рд▓ рдЧрдпрд╛ рд╣реИред

рдореИрдВрдиреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореИрдВ рдирд╣реАрдВ рдХрд░ рдкрд╛рдпрд╛ред рдореИрдВ рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ рдпрджрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЬреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддрд╛ рд╣реИ, рдореБрдЭреЗ рдЧрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ!

рдЙрдкрд░реЛрдХреНрдд рдЕрдзрд┐рдХрд╛рдВрд╢ рдЪрд░реНрдЪрд╛ рдПрдПрдордбреА рдЪрд┐рдкреНрд╕ рдкрд░ рдУрдкрдирд╕реАрдПрд▓ рддреНрд╡рд░рдг рдХреЗ рд╕рд╛рде рдЯреЗрдиреНрд╕рд░рдлреНрд▓реЛ рдЪрд▓рд╛рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдХреНрдпрд╛ рдореИрдВ рдпрд╣ рдХрд╣рдиреЗ рдореЗрдВ рд╕рд╣реА рд╣реВрдБ? рдЕрдЧрд░ рдореИрдВ рдЕрдкрдиреЗ рдПрдХреАрдХреГрдд рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрд╛рд░реНрдб (рдЗрдВрдЯреЗрд▓ рдПрдЪрдбреА 5000) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬреАрдкреАрдпреВ рддреНрд╡рд░рд┐рдд рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдУрдкрдирд╕реАрдПрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореЗрд░рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?

рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рдж!

@znmeb рд╣рд╛рдп рдПрдб, рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдУрдкрдирд╕реАрдПрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рд╕рд╡рд╛рд▓ рдерд╛ - рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдУрдкрдирд╕реАрдПрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдХреЛ рдХреИрд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

https://developer.codeplay.com/computecppce/latest/getting-started-with-tensflow
рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЗрдВрдЯреЗрд▓ рдХреЗ рд▓рд┐рдП https://github.com/codeplaysoftware/computecpp-sdk/issues/78#issuecomment -352411192

@AlphaCodes рдЕрдкрдиреЗ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЖрд░рдВрднреАрдХрд░рдг рд╕рдордп рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдУрдкрдирд╕реАрдПрд▓ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рд╕реЗ рдкрд╣рд▓реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рд╕рдВрдХрд▓рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИред

@brainwave рдЗрдВрдЯреЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ @mirh рдХреЗ рд╕рд╛рде рдПрдХ рдзрд╛рдЧрд╛ рд╣реИ рдЬреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЪрд▓ рд░рд╣реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЗ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рдХреИрд╕реЗ рд╣рдЯрд╛рдпрд╛ рдЬрд╛рдПред рд╣рдордиреЗ рдЗрдВрдЯреЗрд▓ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рджреЗрдЦреА рд╣реИрдВ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдпреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЙрдореНрдореАрдж рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдЧрдП рдбреНрд░рд╛рдЗрд╡рд░ рдЬрд▓реНрдж рд╣реА рдЗрдВрдЯреЗрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреЗ рдЬреЛ рд╕рдорд░реНрдерди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдмреАрдЪ рдЖрдк рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЗрдВрдЯреЗрд▓ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде TensorFlow рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

@AlphasCodes рджреЛрд╕реНрддреЛрдВ, рдореИрдВ рд╢рд╛рдпрдж рднреЛрд▓реЗ рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ AMD GPU рд╣реА рдХреНрдпреЛрдВ рдмрдирд╛ рд░рд╣рд╛ рд╣реИ? рдУрдкрдирд╕реАрдПрд▓ рдорд╛рдирдХ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП? рдХреНрдпрд╛ рдореИрдВ рдЗрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдореЗрд░реЗ Intel рдХрд╛рд░реНрдмрди X1 рдкрд░ рд╕реНрдерд╛рдкрд┐рдд OpenCL 2.0 рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛?

рдпрджрд┐ рдЖрдк рдЙрд╕ рдореБрджреНрджреЗ рдХреЛ рдкрдврд╝рддреЗ рд╣реИрдВ рдЬреЛ рджреЛ рдмрд╛рд░ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рдерд╛, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ AMD GPU рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред
рдЗрдВрдЯреЗрд▓ рдХреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдмрд╛рдзреНрдп рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рд╕рдорд╛рдзрд╛рди рд╣реИ - рдпрджрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рд╣реИ рддреЛ рд╡рд╣рд╛рдВ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВред

рдЬрдм рдореИрдВ рдПрдХ рдЬреНрдпреВрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рдХреЗ рд╕рд╛рде amd_gpu рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдмрдЪрд╛ рд╣реБрдЖ рдзрд╛рдЧрд╛ рд╣реИред рдЧрдгрдирд╛ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рднреА, рдЕрдЬрдЧрд░ рдЕрднреА рднреА рдПрдХ рд╕реАрдкреАрдпреВ рдХрд╛ 100% рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдХрд░реНрдиреЗрд▓ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рд╕реЗ рдЖрд╡рд╛рд░рд╛ рдзрд╛рдЧрд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдХреНрдпрд╛ рдХрд┐рд╕реА рдФрд░ рдХреЛ рдЗрд╕рдХрд╛ рдЕрдиреБрднрд╡ рд╣реИ?

@brainwave @unoexperto
рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВ рдЗрдВрдЯреЗрд▓ рдУрдкрдирд╕реАрдПрд▓ рдХреЗ рд╕рд╛рде рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдПрдПрдордбреА рдУрдкрдирд╕реАрдПрд▓ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╣реИред

@desperadoduck
рдореИрдВ рдЕрднреА рддрдХ jupyter рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ред рдореИрдВ рдПрдХ рд╕рд╛рджрд╛ рдмреИрд╢ рдЦреЛрд▓ рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдкрд╛рдпрдерди 3 рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ ( рдореЗрд░рд╛ рдкрд╛рдпрдерди 3 + рдЯреЗрдиреНрд╕рдлреЛрд░реНрд▓реЛ рд╕реЗрдЯрдЕрдк рджреЗрдЦреЗрдВ )ред рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдЧрдгрдирд╛ рдкреВрд░реНрдг рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдкрд╛рдЗрдерди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдХреЛрдИ CPU рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

@рд░реЙрдбрдмрд░реНрдиреНрд╕
рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдХреНрдпрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрдХрд▓рди рд╕рдордп рдХреЛ рддреЗрдЬ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ 50% рдХреЗ рдмрдЬрд╛рдп рд╕рднреА рдЙрдкрд▓рдмреНрдз CPU рдереНрд░реЗрдбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

@brainwave @rodburns
Linux рдХреЗ рддрд╣рдд Intel GPU (Gen9) рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ PlaidML рдкрд░ рдХреЙрдорди рд╡рд┐рдЬрд╝рди рдиреЗрдЯ рдХреЗ рд╕рд╛рде рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп Intel рдХреЗ рдУрдкрди рд╕реЛрд░реНрд╕ Beignet рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмрдирд╛рдо рдХреНрд▓реЛрдЬреНрдб рд╕реЛрд░реНрд╕ рд╡рди рдХреЗ рд╕рд╛рде рдХрд╛рдлреА рдмреЗрд╣рддрд░ DNN рдкреНрд░рджрд░реНрд╢рди рджреЗрдЦрд╛ рд╣реИред Beignet рднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдЬреЛ рдЕрдЪреНрдЫрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ ubuntu17.10 рдкрд░ рдЗрдВрдЯреЗрд▓ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдПрдЪрдбреА615 (7рд╡реАрдВ рдкреАрдврд╝реА рдХреЗ рд╕реАрдкреАрдпреВ) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ?

Linux64 рдХреЗ рд▓рд┐рдП opencl dirver SRB5.0 ubuntu17.10 рдкрд░ рдЕрдЪреНрдЫрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИред

рдФрд░ рдЗрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
https://bitbucket.org/mehdi_goli/opencl/branch/IntelGPU

рднрдЧрд╡рд╛рди рдХреЗ рдкреНрдпрд╛рд░ рдХреЗ рд▓рд┐рдП, рдХреНрдпрд╛ рдЖрдк рдКрдкрд░ рд╕рд┐рд░реНрдл 2 (рджреЛ!) рдкреЛрд╕реНрдЯ рдирд╣реАрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ?
Intel gpu (рдпрд╛ amd cpu) рд╕рдорд░реНрдерди рдХреА рдХрдореА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдБ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВ https://github.com/codeplaysoftware/computecpp-sdk/issues/78

@znmeb рдпрд╣ рд╡рд┐рднрд┐рдиреНрди рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╕рдВрд╕рд╛рдзрдиреЛрдВ (рдЬреИрд╕реЗ рд╕реАрдкреАрдпреВ, рдЬреАрдкреАрдпреВ, рдбреАрдПрд╕рдкреА, рдХреЛрдИ рдЕрдиреНрдп рдХреЛрдкреНрд░реЛрд╕реЗрд╕рд░) рдХрд╛ рдкреВрд░реНрдг рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд▓рдХреНрд╖реНрдп рд╣реИред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рдХреЗ рд╕рдорд░реНрдерди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ: dirver рдФрд░ OSред
рдЬреИрд╕рд╛ рдХрд┐ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдЖрдк рдПрдХ рд╣реА рд╕рдордп рдХреЗ рджреМрд░рд╛рди рд╡реАрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯреЗрд▓ рдЬреАрдкреАрдпреВ рдФрд░ рдПрдирд╡реАрдбрд╛ рдЬреАрдкреАрдпреВ рджреЛрдиреЛрдВ рдХреЛ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡реЗрджрд┐рдпреЛ рдбреНрд░рд╛рдЗрд╡рд░ рдХреА рд╕реАрдорд╛ рдХреЗ рдХрд╛рд░рдгред (рдЖрдк рдЙрдирдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ)ред
рд╣рд╛рд▓рд╛рдБрдХрд┐, opencl рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╡реЗ рджреЛрдиреЛрдВ рдЗрд╕рдореЗрдВ "рдЙрдкрдХрд░рдг" рд╣реИрдВред

@choongng рдпрд╣ рдЬрд╛рдирдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рд╣рдордиреЗ Beignet рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╛рдо рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдЧрддрд┐рд╡рд┐рдзрд┐ рдереЛрдбрд╝реА рд╢рд╛рдВрдд рд╣реЛ рдЧрдИ рд╣реИред

@znmeb рд╣рд╛рдБ рдХреЛрдИ рднреА GPU рд╢рд╛рдпрдж рдПрдХ рдЫреЛрдЯреА рд╕реА рд╕рдорд╕реНрдпрд╛ рдкрд░ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЖрдк рдХреБрдЫ рдкреНрд░рдЧрддрд┐ рдХрд░ рд░рд╣реЗ рд╣реИрдВ!

TensorFlow рдХреЗ рд╕рд╛рде @unoexperto ComputeCpp рдХрд┐рд╕реА рднреА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ SPIR OpenCL рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ Intel GPU рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣рд╛рдВ рдереНрд░реЗрдб рдореЗрдВ, рд╣рдордиреЗ рдЬрд╛рдирдмреВрдЭрдХрд░ рдЗрд╕реЗ рдЪрд▓рдиреЗ рд╕реЗ рд░реЛрдХрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдерд╛ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдбреНрд░рд╛рдЗрд╡рд░ рдЗрд╕ рд╕рдордп рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдереЗред . рдЖрдк рдЙрд╕ рдкреНрд░рддрд┐рдмрдВрдз рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдиреЗ рдЗрд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдЗрдВрдЯреЗрд▓ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред рд╣рдо рдЗрд╕реЗ рдПрдЖрд░рдПрдо рдФрд░ рд░реЗрдиреЗрд╕рд╛рд╕ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдкрд░ рднреА рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдУрдкрдирд╕реАрдПрд▓ рдбреНрд░рд╛рдЗрд╡рд░ рд╣реИрдВред

@ sxpc722 рддрдм рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡реИрд╕реЗ, рдирдИ рдорд╢реАрди рд╡рд┐рдВрдбреЛрдЬ 10 рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕реЗ рддрдм рддрдХ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд╕рд╛рде рдбреБрдЕрд▓-рдмреВрдЯ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ рдЬрдм рддрдХ рдХрд┐ рдореБрдЭреЗ рдРрд╕рд╛ рдмрд┐рд▓реНрдХреБрд▓ рди рдХрд░рдирд╛ рдкрдбрд╝реЗ! рдореИрдВ рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдЧ рдХрд╛ рдкреАрдЫрд╛ рдХрд░рдиреЗ рд╕реЗ рдмреАрдорд╛рд░ рд╣реВрдВ (рдЖрдкрдХреЛ рджреЗрдЦрдХрд░, рдПрдПрдордбреА)ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВ рдЙрд╕реА рдПрдПрдордбреА рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдкрд░ рдПрдХ рд╡рд┐рдВрдбреЛрдЬ рд╡рд┐рднрд╛рдЬрди рдбрд╛рд▓ рд╕рдХрддрд╛ рд╣реВрдВред ;-)

14 рджрд┐рди рд╣реЛ рдЧрдП рд╣реИрдВ рдФрд░ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реБрдИ рд╣реИ рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдПрдХ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреГрдкрдпрд╛ рддрджрдиреБрд╕рд╛рд░ рд▓реЗрдмрд▓ рдФрд░/рдпрд╛ рд╕реНрдерд┐рддрд┐ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред

рдореЗрд░реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ Tensorflow AMD OpenCL рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдмрд╣реБрдд рдзреАрдорд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдиреНрдп рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рдкрд░реАрдХреНрд╖рдг рдХрд┐рдПред рдЖрдкрдХреЛ рдореЗрд░рд╛ рд╕реЗрдЯрдЕрдк рдФрд░ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдореЗрд░реЗ GitHub рдкреЗрдЬ рдкрд░ рдпрд╣рд╛рдВ рдорд┐рд▓реЗрдЧрд╛ред

рдХрд╣рд╛рдиреА рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдореЗрдВред рдЕрдиреНрдп рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд░реНрддрдорд╛рди рдореЗрдВ Tensorflow AMD OpenCL рд╕реЗ рд▓рдЧрднрдЧ 10 рдЧреБрдирд╛ рддреЗрдЬ рд╣реИред

@AlphasCodes @znmeb рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ TF рдЯреАрдо рдХреЗрд╡рд▓ рдереНрд░реЗрдб рдХреЛ TF рд░рдЦрдирд╛ рдкрд╕рдВрдж рдХрд░рддреА рд╣реИ, рд╣рдореЗрдВ PlaidML-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд╛рд░реНрддрд╛рд▓рд╛рдк рдХреЛ PlaidML рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдкреНрд░рд╕рдиреНрдирддрд╛ рд╣реЛ рд░рд╣реА рд╣реИред рдЙрд╕ рдиреЗ рдХрд╣рд╛, рд╣рдо рдЕрдВрддрддрдГ TensorFlow рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЧреИрд░-рдУрдкрдирд╕реАрдПрд▓ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдИрдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдРрдкреНрдкрд▓ рдХреА рдзрд╛рддреБ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд░реВрдк рдореЗрдВ рдореМрдЬреВрдж рд╣реИ)ред

https://github.com/playidml/playidml

@choongng рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдореИрдВрдиреЗ рддрджрдиреБрд╕рд╛рд░ рдЕрдкрдирд╛ рд╕рдВрджреЗрд╢ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ред

@znmeb AMD A12-9800E iGPU GCN v3.

рдореЗрд░реЗ рд▓рд┐рдП рдмреЗрдВрдЪрдорд╛рд░реНрдХ/рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдореБрдЦреНрдп рдФрд░ рдПрдХрдорд╛рддреНрд░ рдХрд╛рд░рдг рдореЗрд░реЗ рдкреНрд░рд╢реНрди "рд╕реНрдЯреЗ рд╡рд┐рде рдПрдПрдордбреА рдпрд╛ рд╕реНрд╡рд┐рдЪ рдЯреВ рдПрдирд╡реАрдбрд┐рдпрд╛ рдлреЙрд░ рдорд╛рдп рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ рдПрдбрд╡реЗрдВрдЪрд░" рдкрд░ рдПрдХ рдЙрддреНрддрд░ рдЦреЛрдЬрдирд╛ рд╣реИред

рдФрд░ рдЬрд╡рд╛рдм рд╣реИред рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдПрдордбреА рдХрд╛ рдУрдкрдирд╕реЛрд░реНрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд╕рдВрдж рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВ 2 рдХрд╛рд░рдХреЛрдВ рдХреЗ рдХрд╛рд░рдг рдПрдирд╡реАрдбрд┐рдпрд╛ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд░рдЦрддрд╛ рд╣реВрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕реНрдЯреИрдХ (рдЬреИрд╕реЗ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ) рдПрдирд╡реАрдбрд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкрд░рд┐рдкрдХреНрд╡ рд╣реИред рджреВрд╕рд░рд╛ рдЧреНрд░рд╛рдлрд┐рдХ рдХрд╛рд░реНрдб рдореЗрд░реА рдмрд╣реБрдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ (рдПрдХ рдбреИрди рдП 4 рдПрд╕рдПрдлрдПрдХреНрд╕ рдХреЗрд╕ рдореЗрдВ рдлрд┐рдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдШрдВрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд▓реЛрдб рдХреЗ рддрд╣рдд рдмрд╣реБрдд рд╣реА рдЪреБрдк / рд▓рдЧрднрдЧ рдиреАрд░рд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП) рдмрд╣реБрдд рд╕реАрдорд┐рдд рд╣реИ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдПрдПрдордбреА рдкрдХреНрд╖ рдкрд░ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред

рдХреНрдпрд╛ рдЗрдВрдЯреЗрд▓ рдЬреАрдкреАрдпреВ рд╕рдорд░реНрдерд┐рдд рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рдЖрдЗрд░рд┐рд╕ рдкреНрд░реЛ рдЙрдореНрд░ рднрд░ рдХреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЛ рдереЛрдбрд╝рд╛ рддреЗрдЬ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣рд╛рдБ рдкрд░ Intel gpu (рдпрд╛ amd cpu) рд╕рдорд░реНрдерди рдХреА рдХрдореА рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВ codeplaysoftware/computecpp-sdk#78

https://github.com/codeplaysoftware/computecpp-sdk/issues/82

рдмрд╕ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИред рдХреНрдпрд╛ рдореЗрд░рд╛ рдпрд╣ рдХрд╣рдирд╛ рд╕рд╣реА рд╣реИ рдХрд┐ рдпрд╣ рд░реЗрдкреЛ:

https://github.com/lukeiwanski/tensorflow

... ComputeCpp рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд┐рдд, рд╕рд╛рдорд╛рдиреНрдп AMD GPU рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде Tensorflow рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ? рдФрд░ рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХреНрдпрд╛ рдХреЛрдИ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд╕рдмреВрдд рд╣реИ рдХрд┐ рдпрд╣ рдмрд┐рд▓реНрдб рд╕реАрдкреАрдпреВ рдкрд░ рд╕реНрдкреАрдбрдЕрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ?

"рд╕рд╛рдорд╛рдиреНрдп рдПрдПрдордбреА рдЬреАрдкреАрдпреВ рд╕рдорд░реНрдерди" рд╕реЗ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХрд╛ рдорддрд▓рдм рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреБрд░рд╛рдиреЗ dGPU рдпрд╛ APU рд╕реЗ рд╣реИ, рддреЛ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдирдпрд╛ (рджреВрд╕рд░рд╛ рдЬрдирд░рд▓ рдЬреАрд╕реАрдПрди рдпрд╛ рдирдпрд╛) рд╣реИ, рддреЛ рдЖрд░рдУрд╕реАрдПрдо рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рд╣рд┐рдкрдЯреЗрдиреНрд╕рд░рдлреНрд▓реЛ (v1.0.1) рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ред

@ briansp2020 рдЖрд╣ рд╣рд╛рдБ рдореИрдВрдиреЗ рдЖрд░рдУрд╕реАрдПрдо рдкрд░ рдПрдПрдордбреА рдХрд╛ рдХрд╛рдо рджреЗрдЦрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рд╡реЗ рдХреЗрд╡рд▓ рд▓рд┐рдирдХреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХрд┐рд╕реА рдЕрдиреНрдп рдУрдПрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЙрдирдХреЗ рд░реЛрдбрдореИрдк рдкрд░ рд╣реИред рдореИрдВ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

@mjmax рдХреНрдпрд╛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рдХреЛрдИ GPU рддреНрд╡рд░рд┐рдд рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдкреИрдХреЗрдЬ рдЙрдкрд▓рдмреНрдз рд╣реИ? рдореИрдВрдиреЗ рд╕реЛрдЪрд╛, рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ GPU рддреНрд╡рд░рд┐рдд рдЧрд╣рди рдЕрдзреНрдпрдпрди рдХрд░реЗ, рддреЛ Linux рд╣реА рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдХрд▓реНрдк рдерд╛ред рдпрджрд┐ TensorFlow рдХреЛ OpenCL рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдХреНрдпрд╛ рдЗрд╕рд╕реЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛? рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ CUDA рд╕рдорд░реНрдерд┐рдд рд╣реЛрдиреЗ рдкрд░ GPU рддреНрд╡рд░рдг рдХреЗ рд╕рд╛рде рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ TensorFlow рдХреНрдпреЛрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдм рд╡рд┐рд╖рдп рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ GPU рддреНрд╡рд░рд┐рдд рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП TensorFlow рдФрд░/рдпрд╛ PyTorch рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ ...

@ briansp2020 рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, Tensorflow рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ Nvidia GPU рддреНрд╡рд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

CL tensofrflow рдкрд╣рд▓реЗ рд╕реЗ рд╣реА linux рдкрд░ рдПрдХ рдЧрдбрд╝рдмрдбрд╝ рд╣реИ, рдЬрд▓реНрдж рд╣реА рдХреБрдЫ рднреА рдЙрдореНрдореАрдж рди рдХрд░реЗрдВред
рдпрджрд┐ рдЖрдк рд╡рд╣рд╛рдВ рд╕рд╛рдорд╛рди рдореЗрдВ рддреЗрдЬреА рд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреЗрд╡рд▓ рдкреНрд▓реЗрдбрдПрдордПрд▓ рд╣реИред
(рдФрд░ рдХреГрдкрдпрд╛, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 500 рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдкрд░ рд╣реИрдВ .. рдЖрдЗрдП рдХреЗрд╡рд▓ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдпрджрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ)

@mirh OpenCL Caffe рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ TensorFlow рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдареЛрд╕ рд╣реИ рдЬрд┐рд╕реЗ рд╣рд░ рдЬрдЧрд╣ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред

рдПрдПрдордбреА рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдПрдЪрдЖрдИрдкреА рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдУрдкрдирд╕реАрдПрд▓ рдкреЛрд░реНрдЯ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

https://github.com/ROCmSoftwarePlatform/hiptensorflow

рд╣рд╛рд╣рд╛! @LifeIsStrange Life рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдЕрдЬреАрдм рд╣реИ... рдХреНрдпрд╛ рдЖрдк AMD рдХреА HiP рдорд╛рд░реНрдХреЗрдЯрд┐рдВрдЧ рдЯреАрдо рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ? :-)
рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╡рд┐рд╖рдп рдХреЛ рджреЗрдЦреЗрдВ: "рдУрдкрдирд╕реАрдПрд▓ рд╕рдорд░реНрдерди"ред

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ рдЦреНрд░реЛрдиреЛрд╕ рдорд╛рдирдХ https://en.wikipedia.org/wiki/OpenCL рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ (рдФрд░ рдУрдкрдирд╕реАрдПрд▓ рдЦреНрд░реЛрдиреЛрд╕ рд╡рд░реНрдХрд┐рдВрдЧ рдЧреНрд░реБрдк рд╕реЗ рдЕрдиреНрдп рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдорд╛рдирдХ "рдЕрд╡рд▓реЛрдХрди" рдЦрдВрдб рдХреЗ рдЕрдВрдд рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ)ред

рдмреЗрд╢рдХ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд╣рд░ рдПрдХ рджреБрдирд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣реИ... рдмрд╛рд╣рд░ ! :-)

рдХреГрдкрдпрд╛ рдЗрд╕ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рд▓рдВрдмреА рдЪрд░реНрдЪрд╛ рдкрд░ рдХреБрдЫ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреЛрд╕реНрдЯ рдкреЛрд╕реНрдЯ рдХрд░рдХреЗ рдмреНрд░рд╣реНрдорд╛рдВрдб рдХреА рдПрдиреНрдЯреНрд░рд╛рдкреА рдХреЛ рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рди рдмрдврд╝рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ ... :-)
рдпрд╣ рдЯрд┐рдкреНрдкрдгреА рдпрд╣рд╛рдБ рдХреБрдЫ рдЕрдиреНрдп рдкреЛрд╕реНрдЯрд░реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИ, рди рдХрд┐ рдХреЗрд╡рд▓ рдЖрдк рдкрд░ред
рддрдХрдиреАрдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдЧрд┐рдЯрд╣рдм рдореБрджреНрджрд╛ рд╣реИ: рдУрдкрдирд╕реАрдПрд▓ рдорд╛рдирдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рди рдХрд┐ рдлреЗрд╕рдмреБрдХ рдкреЗрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд┐ рд▓реЛрдЧ рдП рдпрд╛ рдмреА рдХреЛ рдХреИрд╕реЗ рдкрд╕рдВрдж рдпрд╛ рдирд╛рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред :-)
рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдЫ рдЧрд┐рдЯ рдХрдорд┐рдЯ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ ...

OpenCL рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ TensorFlow рдХрд╛ рдПрдХ рдХрд╛рдВрдЯрд╛ рд╣реИ https://github.com/hughperkins/tf-coriander

рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ @benoitsteiner рдХрд╛ рдХрд╛рдо https://github.com/benoitsteiner/tensorflow-opencl

рдЖрдИрдПрдордПрдЪрдУ, рдпрд╣ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд╣реИ рдХрд┐ рдореБрдЦреНрдпрдзрд╛рд░рд╛ рдХреЗ рдЯреАрдПрдл рдиреЗ рдЕрднреА рднреА рдЕрдкрдиреЗ рдХрд╛рдо рдХреЛ рд╡рд┐рд▓рдп рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣рд╛рдВ рдкрд░ рдлреЛрдХрд╕-рдЯреВ-рд░рди-рдПрдЬрд╝-рд▓реЛрдордЧ-рдПрдЬрд╝-рдЗрдЯ-рдЗрдЬрд╝-рдУрдкрдирд╕реАрдПрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдкрд░ рд╣реИ, рдпрд╛ рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддреЗрдЬрд╝реА рд╕реЗ рдЪрд▓рд╛рдиреЗ рдкрд░ рд╣реИ? рдореИрдВ рд╡рд╣рд╛рдВ рдПрдХ рдкрд╡рд┐рддреНрд░ рдпреБрджреНрдз рдирд╣реАрдВ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдХрдИ рдЬреАрдкреАрдпреВ рдкрд░ рддреЗрдЬреА рд╕реЗ рдЪрд▓рд╛рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реВрдВрдЧрд╛ред LifeIsStrange рдХрд╛ рдзреНрдпрд╛рди рдЗрд╕реЗ AMD GPU рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рд╣реИ рдФрд░ рдлрд┐рд░ HIP рдЕрдЪреНрдЫреА рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЗрдВрдЯреЗрд▓ рдЬреАрдкреАрдпреВ рдпрд╛ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдУрдкрдирд╕реАрдПрд▓ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред GPU-рднрд╛рд╖рд╛рдПрдВ рдПрдХ рдЧрдбрд╝рдмрдбрд╝ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХреГрдкрдпрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░рд╣реЗрдВ,

рдЕрдЧрд░ рдореИрдВ рдпрд╣рд╛рдВ рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдкрдврд╝рддрд╛ рд╣реВрдВ, рддреЛ рдУрдкрдирд╕реАрдПрд▓ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд░реНрд╢рди рдПрдХ рдореБрджреНрджрд╛ рд╣реИред рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореИрдВ рдЖрд╕рдкрд╛рд╕ рдХрдИ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ред рдХреНрдпрд╛ рдЗрд╕рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд╣реИрдВ? https://github.com/AlphasCodes/DeepLearning/blob/master/Tensorflow_Benchmarks.md

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдпрджрд┐ рдЖрдк CUDA рдХреА рддреБрд▓рдирд╛ OpenCL рд╕реЗ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рдХрдард┐рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдХрдерд┐рдд рддреМрд░ рдкрд░, рдПрдирд╡реАрдбрд┐рдпрд╛ рдиреЗ рдЬрд╛рдирдмреВрдЭрдХрд░ рдЕрдкрдиреЗ рдУрдкрдирд╕реАрдПрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдХреБрдЫ рд╣рдж рддрдХ рддреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА/рдЕрдиреБрдорддрд┐ рджреА, рдЗрд╕рд▓рд┐рдП рдЙрд╕реА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рд╣рдореЗрд╢рд╛ рд╕реАрдпреВрдбреАрдП рдХреЛ рд╢рд╛рдирджрд╛рд░ рджрд┐рдЦрдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрдЧрд╛ред

12 рдлрд░рд╡рд░реА 2018 рдХреЛ 14:26:11 GMT+00:00, VincentSC [email protected] рдиреЗ рд▓рд┐рдЦрд╛:

рдХреНрдпрд╛ рдпрд╣рд╛рдБ рдкрд░ рдлреЛрдХрд╕-рдЯреВ-рд░рди-рдПрдЬрд╝-рд▓реЛрдордЧ-рдПрдЬрд╝-рдЗрдЯ-рдЗрдЬрд╝-рдУрдкрдирд╕реАрдПрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдкрд░ рд╣реИ, рдпрд╛
рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИ? рдореИрдВ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╡рд╣рд╛рдВ рдХреЛрдИ рдкрд╡рд┐рддреНрд░ рдпреБрджреНрдз рди рд╣реЛ, рд▓реЗрдХрд┐рди
рдЗрд╕реЗ рдХрдИ GPU рдкрд░ рддреЗрдЬреА рд╕реЗ рдЪрд▓рд╛рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред LifeIsрд╕реНрдЯреНрд░реЗрдВрдЬ
рдПрдПрдордбреА рдЬреАрдкреАрдпреВ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдПрдЪрдЖрдИрдкреА рдЕрдЪреНрдЫрд╛ рдмрдирд╛рддрд╛ рд╣реИ
рд╕рдордЭред рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЗрдВрдЯреЗрд▓ рдЬреАрдкреАрдпреВ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рд╣реИ рдпрд╛
Android, рдФрд░ рдлрд┐рд░ OpenCL рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред GPU-рднрд╛рд╖рд╛рдПрдВ рд╣реИрдВ a
рдЧрдбрд╝рдмрдбрд╝ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреГрдкрдпрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░рд╣реЗрдВ,

рдЕрдЧрд░ рдореИрдВ рдпрд╣рд╛рдВ рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдкрдврд╝рддрд╛ рд╣реВрдВ, рддреЛ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рдореБрджреНрджрд╛ рд╣реИ
рдУрдкрдирд╕реАрдПрд▓ рдкреЛрд░реНрдЯред рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореИрдВ рдЖрд╕рдкрд╛рд╕ рдХрдИ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ред
рдХреНрдпрд╛ рдЗрд╕рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд╣реИрдВ?
https://github.com/AlphasCodes/DeepLearning/blob/master/Tensorflow_Benchmarks.md

--
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ:
https://github.com/tensorflow/tensorflow/issues/22#issuecomment -364936498

--
K-9 рдореЗрд▓ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ Android рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рднреЗрдЬрд╛ рдЧрдпрд╛ред рдореЗрд░реЗ рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЛ рдорд╛рдлрд╝ рдХрд░реЛред

рдХреЗрд╡рд▓ 2 рдирдВрдмрд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ - рдХреМрди рдкрд░рд╡рд╛рд╣ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдПрдирд╡реАрдбрд┐рдпрд╛ рдкрд░ рдУрдкрдирд╕реАрдПрд▓ рдЖрдзрд╛ рдЧрддрд┐ рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ рдЕрдЧрд░ рдпрд╣ рдЕрдиреНрдп рдЬреАрдкреАрдпреВ рдкрд░ 4x рдЧрддрд┐ рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрди рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:

  1. NV GPU рдкрд░ CUDA (рд╕рдВрджрд░реНрдн рдмреЗрдВрдЪрдорд╛рд░реНрдХ)
  2. рдПрдПрдордбреА, рдПрдирд╡реАрдбрд┐рдпрд╛ рдФрд░ рдЗрдВрдЯреЗрд▓ рдЬреАрдкреАрдпреВ рдкрд░ https://github.com/hughperkins/tf-coriander
  3. рдПрдПрдордбреА, рдПрдирд╡реАрдбрд┐рдпрд╛ рдФрд░ рдЗрдВрдЯреЗрд▓ рдЬреАрдкреАрдпреВ рдкрд░ https://github.com/benoitsteiner/tensorflow-opencl
  4. рдПрдПрдордбреА, рдПрдирд╡реАрдбрд┐рдпрд╛ рдФрд░ рдЗрдВрдЯреЗрд▓ рдЬреАрдкреАрдпреВ рдкрд░ https://github.com/lukeiwanski/tensorflow

рд╕рдВрджрд░реНрдн рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдЖрд╕рд╛рдиреА рд╕реЗ рдорд┐рд▓ рдЬрд╛рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдпрд╣рд╛рдВ рдХреБрдЫ рд╣рд╛рдИ рдПрдВрдб рдЬреАрдкреАрдпреВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХреЗрд╡рд▓ рдирдВрдмрд░ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрдЧрд╣ рдХреА рдЬрд░реВрд░рдд рд╣реИ (рдмрд┐рд▓реНрдбрд┐рдВрдЧ-рдбреЙрдХреНрд╕ рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде)ред

рдУрдкрдирд╕реАрдПрд▓ рд╕рдорд░реНрдерди рдпрд╣ рд╕рдЪ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

cuda рдмрд╣реБрдд рд╕реАрдорд┐рдд рд╣реИ, рдФрд░ nvidia рдЗрд╕реЗ рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ред
cuda рдХреЗрд╡рд▓ Nv gpus рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╡рд╣ TensorFlow рдХреЗ рд▓рд┐рдП рдореГрдд рдЕрдВрдд рд╣реИ,
рдпрджрд┐ рдХреЛрдИ рдЕрдиреНрдп "TensorFlow" рдмрд╛рд╣рд░ рдЖрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди TensorFlow рд╕реЗ рдЕрдзрд┐рдХ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдЕрдЧрд░ TensorFlow рдЕрднреА рднреА рд╡рд┐рдВрдбреЛрдЬрд╝ рдореЗрдВ рдХреЗрд╡рд▓ cuda рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдЖрдкрдХреЛ рдорд╣рд╕реВрд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ TensorFlow рд╣реА рдПрдХрдорд╛рддреНрд░ рдЪрдпрди рдирд╣реАрдВ рд╣реИред

рдУрдкрдирд╕реАрдПрд▓ рдПрдЪрдЖрдИрдкреА рд╕реЗ рдмреЗрд╣рддрд░ рдХреНрдпреЛрдВ рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдУрдкрдирд╕реАрдПрд▓ рдЗрд╕ рд╕рдордп рдХрд░реНрд╖рдг рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдФрд░ рдУрдкрдирд╕реАрдПрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ рд╣реИ, рд╢рд╛рдпрдж рдкреВрд░реЗ рд╕рдореБрджрд╛рдп/рдЙрджреНрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХрд╛рдЙрдВрдЯрд░ рдЙрддреНрдкрд╛рджрдХ рдФрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдХрдорд░ рд╣реИред рдореИрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп TensorFlow рдХреЛ рд╕реАрдзреЗ HIP рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рд╕рдВрдХрд▓рдХ/рдЙрдкрдХрд░рдг/рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрдиреЗ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдХреНрдпрд╛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП 1 рднрд╛рд╖рд╛/рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЙрдбрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реИ?

рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ рд╣рд░ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╣реИред
рдпрджрд┐ рдЖрдкрдиреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рд╣реИ рддреЛ HIP рд╕рднреА рдШрдВрдЯрд┐рдпрд╛рдБ рдФрд░ рд╕реАрдЯреА (рдХрдо рд╕реЗ рдХрдо рдХрд╛рдЧрдЬ рдкрд░) рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╕рд┐рд░реНрдл "рдирдП рдПрдПрдордбреА рдФрд░ рдПрдирд╡реАрдбрд┐рдпрд╛ рдХрд╛рд░реНрдб" рдирд╣реАрдВ рд╣реИрдВред

рдЕрдм рдХреГрдкрдпрд╛, рднрдЧрд╡рд╛рди рдХреЗ рдкреНрдпрд╛рд░ рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рднреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░реЗрдВ ред
рдФрд░ рдпрд╣рд╛рдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдПред

рдореИрдВрдиреЗ рд╕реЛрдЪрд╛, рдХрд┐ SPIR-V рд╕реАрдзреЗ CUDA рдХреЛ рдПрдХ рдХреНрд░реЙрд╕-рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдмрджрд▓ рджреЗрдЧрд╛:
http://alphanew.net/index.php?section=alphanew&site=overview&lang=eng&newsID=111

Google рдЕрднреА рднреА CUDA рдкрд░ рдирд┐рд░реНрднрд░ рдХреНрдпреЛрдВ рд╣реИ?

рдХреНрдпрд╛ рдпреЗ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдУрдкрдирд╕реАрдПрд▓ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдкреАрдврд╝реА (рдереЙрдорд╕ рд╡рд╛рдВрдЧ):

uint wang_hash(uint seed)
{
               seed = (seed ^ 61) ^ (seed >> 16);
               seed *= 9;
               seed = seed ^ (seed >> 4);
               seed *= 0x27d4eb2d;
               seed = seed ^ (seed >> 15);
               return seed;
}

void wang_rnd_0(__global unsigned int * intSeeds,int id)                
{
               uint maxint=0;
               maxint--;
               uint rndint=wang_hash(id);
               intSeeds[id]=rndint;
}

float wang_rnd(__global unsigned int * intSeeds,int id)                
{
               uint maxint=0;
               maxint--;
               uint rndint=wang_hash(intSeeds[id]);
               intSeeds[id]=rndint;
               return ((float)rndint)/(float)maxint;
}


// initialize each thread's own random number seed
__kernel void rnd_0(__global unsigned int * intSeeds)
{
               int id=get_global_id(0);
               wang_rnd_0(intSeeds,id);     
}

// get a new random value by each thread
__kernel void rnd_1(__global unsigned int * intSeeds)
{
               int id=get_global_id(0);
               float randomFloat=wang_rnd(intSeeds,id);
}

OpenCL SHA3hashing (рднреВрд▓ рдЧрдпрд╛ рдХрд┐ рдЗрд╕реЗ рдХрд┐рд╕рдиреЗ рд▓рд┐рдЦрд╛ рд╣реИ)

https://gist.github.com/tugrul512bit/c8170f74846e36e350607664f12c525c

рдХреГрдкрдпрд╛ рдЕрд╕рд╛рдЗрдиреА рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдмрд╛рд╣рд░реА рдпреЛрдЧрджрд╛рдиреЛрдВ рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░ рд░рд╣реА рд╣реИред рдЕрдиреНрдпрдерд╛, contributions welcome рд▓реЗрдмрд▓ рд╣рдЯрд╛ рджреЗрдВред рдзрдиреНрдпрд╡рд╛рджред

рдХреГрдкрдпрд╛ рдЕрд╕рд╛рдЗрдиреА рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдмрд╛рд╣рд░реА рдпреЛрдЧрджрд╛рдиреЛрдВ рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░ рд░рд╣реА рд╣реИред рдЕрдиреНрдпрдерд╛, contributions welcome рд▓реЗрдмрд▓ рд╣рдЯрд╛ рджреЗрдВред рдзрдиреНрдпрд╡рд╛рджред

OpenCL рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ Google рдХреЗ рд╣рд┐рдд рдореЗрдВ рд╣реИ,
рдЖрдкрдХреЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ (рдХрдВрдкрдиреА/рдмреНрд░рд╛рдВрдб/рд╡рд┐рдХреНрд░реЗрддрд╛) рдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╣реЛрдиреЗ рд╕реЗ, рдЖрдк рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рдмрд╛рдЬрд╛рд░ рдХреА рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рд▓рд╛рдЧрдд рдХреЛ рдХрдо рдХрд░рддреА рд╣реИред
Google рд╢реБрд░реВ рд╕реЗ рд╣реА рдХрдореЛрдбрд┐рдЯреА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдХрд┐ Google рдХреА рд╕рдлрд▓рддрд╛ (рдмрд╛рдЬрд╛рд░ рдкреНрд░рднреБрддреНрд╡) рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдерд╛, рдХрдо рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░ рдкрд░рд┐рдЪрд╛рд▓рди рд▓рд╛рдЧрдд рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг, рдХреНрд░рд╛рдВрддрд┐рдХрд╛рд░реА рдЙрджрд╛рд░ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдореБрдлреНрдд рд╕реЗрд╡рд╛рдУрдВ рдЬреИрд╕реЗ рдЬреАрдореЗрд▓ (рднрдВрдбрд╛рд░рдг рд╕реНрдерд╛рди) рдФрд░ Google рдлрд╝реЛрдЯреЛ (рднрдВрдбрд╛рд░рдг) рдХреЛ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ред рд╕реНрдкреЗрд╕ рдФрд░ рдСрдЯреЛ-рдЯреИрдЧрд┐рдВрдЧ)ред

@wesamco рдирд╣реАрдВ, рдпрд╣ рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ Google рдХреЗ рд╣рд┐рдд рдореЗрдВ рд╣реЛред рд╡реЗ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдмрдирд╛рддреЗ рд╣реИрдВ - рдЬрд┐рд╕реЗ "рдЯреЗрдиреНрд╕рд░рдмреЛрд░реНрдб", IIRC рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реЗ OpenCL рдФрд░ CUDA / CUDnn рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмреЛрд░реНрдб рдХреЛ рдХрдЪреНрдЪрд╛ TensorFlow рдХреЛрдб рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдХрдЪреНрдЪрд╛ TensorFlow рдХреЛрдбред

рдРрд╕реА рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ рд╣реИ - рдпрд╣ рдЕрд╕рдВрд╕рд╛рдзрд┐рдд рднреЛрдЬрди рдХреА рддрд░рд╣ рдирд╣реАрдВ рд╣реИред рдЯреАрдкреАрдпреВ рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдбреАрдПрдирдПрди-рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рдХреЙрд▓реЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рдЪрд░реНрдЪрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдПрдХ рд╕реВрдЪреА рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИ:

  • рдХреЛрдбрдкреНрд▓реЗ рдПрдХ SYCL рдмреИрдХрдПрдВрдб рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ
  • рд╣реНрдпреВрдЧ рдкрд░реНрдХрд┐рдиреНрд╕ tf-рдзрдирд┐рдпрд╛ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ
  • AMD рдПрдХ HIP рдмреИрдХрдПрдВрдб рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ
  • рдкреНрд▓реЗрдбрдПрдордПрд▓ рдЗрд╕ рд╕рдордп рдХреЗрд╡рд▓ рд╕реАрдкреАрдпреВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
  • Intel GPU рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреА рд╕реНрдерд┐рддрд┐ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред

рдЗрд╕рд▓рд┐рдП рдЕрдкрдиреА рдкрд╕рдВрдж рдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЪреБрдиреЗрдВ рдФрд░ рдЙрдирдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕рдореВрд╣ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рд╕реНрдерд┐рддрд┐-рдЕрджреНрдпрддрди рджреЗ рд╕рдХреЗ?

рдпрд╣ рд╕рдордЭреЗрдВ рдХрд┐ рдУрдкрдирд╕реАрдПрд▓ рдХреЛ рдПрдХ рдкреВрд░реНрдг рднрд╛рд╖рд╛ рд╕реЗ рдПрдХ рднрд╛рд╖рд╛-рдкрд░рд┐рднрд╛рд╖рд╛/рд╣рд╛рд░реНрдбрд╡реЗрдпрд░-рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдПрд╕рдкреАрдЖрдИрдЖрд░рд╡реА (рдХрд░реНрдиреЗрд▓) рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВ рдУрдкрдирд╕реАрдПрд▓-рдбреНрд░рд╛рдЗрд╡рд░ рдЬреИрд╕реЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдФрд░ рдмрд╛рдж рдореЗрдВ рд╡рд▓реНрдХрди-рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдкрд░ рднреА рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред (рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо)ред рддреЛ SYCL рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рдХреЗ рдЖрдк рднреА OpenCL рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВ.

рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рдпреЛрдЧ, рд▓реЗрдХрд┐рди рдкреНрд▓реЗрдбрдПрдордПрд▓ gpus рдкрд░ рднреА рдЪрд▓рддрд╛ рд╣реИред
рдпрд╣ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕рдордп рд╡реЗ рдХреЗрд░рд╕ рдХреЗ рд▓рд┐рдП рдмреИрдХрдПрдВрдб рд╣реИрдВ, рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдирд╣реАрдВред рддреЛ рдпрд╣ рдереЛрдбрд╝реЗ рдУрдЯреА рд╣реИред

рдирдорд╕реНрддреЗ,
@VincentSC рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рд╢рд╛рдирджрд╛рд░ рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдЗрд╕рд▓рд┐рдП рдЕрдкрдиреА рдкрд╕рдВрдж рдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЪреБрдиреЗрдВ рдФрд░ рдЙрдирдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕рдореВрд╣ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рд╕реНрдерд┐рддрд┐-рдЕрджреНрдпрддрди рджреЗ рд╕рдХреЗ?

SYCL рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдм рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ/рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЬрд┐рдирдХрд╛ рдореИрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рд╡реЗ рд╣реИрдВ:

  • AMD GPU (FirePro W8100, R9 Nano рдФрд░ R9 380 Series) рдирд┐рд░реНрджреЗрд╢ рдпрд╣рд╛рдВ рдпрд╛ рдпрд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ
  • рдПрдЖрд░рдПрдо рдорд╛рд▓реА (рд╣рд╛рдИрдХреЗ 960) рдирд┐рд░реНрджреЗрд╢ рдпрд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ
  • Intel NEO OpenCL рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд╕рд╛рде Intel GPU (SkyLake Series)

рдЬрдм рдПрдПрдордбреА рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рддреЛ рдлрд┐рд▓рд╣рд╛рд▓ рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдЬреАрдкреАрдпреВ рдПрдПрдордбреАрдЬреАрдкреАрдпреВ-рдкреНрд░реЛ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ 17.40-xxx рд▓реАрдЧреЗрд╕реА рдУрдкрдирд╕реАрдПрд▓ рд╕рдХреНрд╖рдо рдХреЗ рд╕рд╛рдеред
рдореБрдЭреЗ рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рдХрд╛рд░рдг рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЕрдиреНрдп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреНрдпреЛрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧреА (рдЗрд╕ рдзрд╛рд░рдгрд╛ рдХреЗ рд╕рд╛рде рдХрд┐ рдПрд╕рдкреАрдЖрдИрдЖрд░/рдПрд╕рдкреАрдЖрдИрдЖрд░-рд╡реА рд╕рдорд░реНрдерд┐рдд рд╣реИ)

рд╣рдо рдЬрд┐рд╕ рдореБрдЦреНрдп рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рд▓рд┐рдирдХреНрд╕ рд╣реИ - рд╣рд╛рд▓рд╛рдВрдХрд┐, рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рд░рдВрддрд░ рдкреНрд░рдпрд╛рд╕ рд╣реИрдВред рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ OSX рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рд╣рдорд╛рд░реА рдХреЛрдИ рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВ рдЙрджрд╛рд╕ рдЪреЗрд╣рд░рд╛ рдЬрд╛рдирддрд╛ рд╣реВрдБред

рд╣рдорд╛рд░рд╛ рдзреНрдпрд╛рди рд╕реАрдПрдирдПрди рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рд▓рд╛рдиреЗ рдкрд░ рд╣реИред рд╡рд░реНрддрдорд╛рди рдкреНрд░рджрд░реНрд╢рди рдЕрдиреБрдХреВрд▓рд┐рдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдХрд╣реАрдВ рднреА рдирд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдВ рд╣рдо рдЗрд╕реЗ рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рджреЗрдЦрддреЗ рд╣реИрдВред рдЙрд╕ рдиреЗ рдХрд╣рд╛, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд┐рднрд┐рдиреНрди рд▓рдХреНрд╖реНрдпреЛрдВ рдкрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдореЙрдбрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реАрдкреАрдпреВ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рд╣рд░рд╛ рд░рд╣реЗ рд╣реИрдВред

рд╡рд┐рдХрд╛рд╕ рдЪрдХреНрд░ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдФрд░ TensorFlow рдХреЗ рд╕рдордЧреНрд░ рд╕рдВрдХрд▓рди рд╕рдордп рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рд╕рд╛рде рд╣реА рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдореЗрдВ рд╕реБрдзрд╛рд░) рд╣рдо Eigen, BLAS рдФрд░ DNN рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдЗрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдкреНрд░рджрд░реНрд╢рди рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдкреЛрд░реНрдЯреЗрдмрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдПрдХ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ TensorFlow рдЬреИрд╕реА рдЬрдЯрд┐рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдиреАрдЪреЗ, рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╛рдлрд╝ рджреЗрдЦреЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗ рдореЗрд░реЗ рдХрд╛рдВрдЯреЗ https://github.com/lukeiwanski/tensorflow/tree/dev/amd_gpu рд╕реЗ 271093b21cc5ca38e8699e154b5cada96bd7ac0d рдкрд░ рд▓рд┐рдП рдЧрдП рд╣реИрдВред
рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд╣реИ https://github.com/tensorflow/benchmarks

cpuvssycl
рдЧреНрд░рд╛рдлрд╝ рдХреЛ Intel i7-4790K рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╣рдо рдзреАрд░реЗ-рдзреАрд░реЗ Eigen рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдРрд╕рд╛ рд╣реЛрдиреЗ рдкрд░ рд╣рдо TensorFlow рдХреЗ рд╕рд╛рде рдЕрдиреБрд╕рд░рдг рдХрд░реЗрдВрдЧреЗред

рдЙрдореНрдореАрдж рд╣реИ рдХреА рд╡реЛ рдорджрдж рдХрд░рджреЗ,
рд▓реНрдпреВрдХ

GPU/OpenCL рд╕рдкреЛрд░реНрдЯ рд╡рд╛рд▓реЗ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдЧрд╣рди рд╕реАрдЦрдиреЗ рдХреЗ рдЕрдиреБрдорд╛рди рдХреЗ рд▓рд┐рдП, рдЖрдк MACE рдЪреЗрдХрдЖрдЙрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ Adreno, Mali рдФрд░ PowerVR GPU рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИред рдпрд╣рд╛рдВ рдХреБрдЫ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдкрд░рд┐рдгрд╛рдо рджрд┐рдП рдЧрдП рд╣реИрдВред

@keryell @benoitsteiner , рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдФрд░ рдЯреНрд░рд╛рдЗрд╕реАрдХреНрд▓ рдХреЗ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдирд╡реАрдирддрдо рдЯреНрд░рд╛рдЗрд╕рд╛рдЗрдХрд┐рд▓ рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ (1.9) рдмрдирд╛рдиреЗ рдореЗрдВ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд░рд╣реА рд╣реИред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдирд╡реАрдирддрдо TensorFlow рд╡рд░реНрддрдорд╛рди рдЯреНрд░рд╛рдИрдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ ComputeCpp рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХрдорд╛рддреНрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдкрд╛рд▓рди SYCL рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди ...

Tensorflow Google Brain рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рдФрд░ Google рдиреЗ nVidia рдХреЗ рд╕рд╛рде рд╕рд╛рдЭреЗрджрд╛рд░реА рдХреА рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо Tensorflow рд╕реЗ OpenCL рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ
рдмрдбрд╝реЗ рдУрдкрдирд╕реАрдПрд▓ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдкреНрд░рдпрд╛рд╕ рдХреА рдЬрд░реВрд░рдд рд╣реИ

рдУрдкрдирд╕реАрдПрд▓ рд╕рдорд░реНрдерди рдХреГрдкрдпрд╛!

рдУрдкрдирд╕реАрдПрд▓ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рднреА рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реИред

@Makhaon Me рднреАред рдореИрдВ NVIDIA рдЧреНрд░рд╛рдлрд┐рдХ рдХрд╛рд░реНрдб рд╡рд╛рд▓реА рдорд╢реАрди рдЦрд░реАрджрдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдирд╣реАрдВ рдЙрдард╛ рд╕рдХрддрд╛ред

рдЙрдкрд░реЛрдХреНрдд 2 рдкрджреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдпрд╣ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдм рдПрдПрдордбреА рдХреЗ рд╡реЗрдЧрд╛ рдЬреАрдкреАрдпреВ (рд░реЗрд╡реЗрди рд░рд┐рдЬ рдПрдкреАрдпреВ рдХреЗ рдЕрдВрджрд░ рд╡рд╛рд▓реЗ рд╕рд╣рд┐рдд) рдПрдлрдкреА 16 рдХреЛ рджреЛ рдмрд╛рд░ рдлреНрд▓реЙрдк рдкрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЯреАрдПрдл рдЙрдиреНрд╣реЗрдВ (рдУрдкрдирд╕реАрдПрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддреЛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХрд░реЗрдЧрд╛ рдХрдо рдмрдЬрдЯред рд╕рд╛рде рд╣реА рдЗрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдЫрд╛рддреНрд░ рд╣реЛрдВрдЧреЗ, рдФрд░ рдЕрдЧрд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ TF рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдирдХреА DNN рдпрд╛рддреНрд░рд╛ рдХреЗ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВ, рддреЛ рд╡реЗ рд╢рд╛рдпрдж TF рдХреЗ рд╕рд╛рде рд╕рдбрд╝рдХ рдкрд░ рдЪрд┐рдкрдХреЗ рд░рд╣реЗрдВрдЧреЗ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ TF рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреВрд╕рд░реЛрдВ рдХреЛ рднреА рдмрддрд╛рдПрдВрдЧреЗ; рдпрд╣ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рддрд░реАрдХрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдзрд╛рдЧрд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрд░ рдЕрд░реНрдерд╣реАрди рд╣реИ (рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╢реЛрд░ - рдФрд░ рдореИрдВ рдХреБрдЫ рдФрд░ рдЬреЛрдбрд╝реВрдВрдЧрд╛ ;-) рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдИ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдмрд┐рдВрджреБ рдЦреЛ рд░рд╣реА рд╣реИрдВ:
рдпрджрд┐ рдЖрдк Tensorflow рдХреЛ AMD рдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ OpenCL рд╡рд╣ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХреА рдЖрдк рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдХреГрдкрдпрд╛ https://github.com/ROCmSoftwarePlatform/ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ ROCm рд╕реНрдЯреИрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред AFAIK AMD рдХреА рд╡рд░реНрддрдорд╛рди рд░рдгрдиреАрддрд┐ Tensorflow/pytorch рдХреЗ рд▓рд┐рдП OpenCL рдХреЗ рдмрдЬрд╛рдп ROCm рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ ред

рдЬреЗрдиреЗрд░рд┐рдХ рдУрдкрдирд╕реАрдПрд▓ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд░рдЦрд░рдЦрд╛рд╡ рдерд╛/рдПрдПрдордбреА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдкреНрд░рджрд░реНрд╢рди рд▓рд╛рдн рдирд╣реАрдВ рджреЗрддрд╛ рдерд╛ред рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЯрд┐рдХрдЯ рдХреЗрд╡рд▓ рддрднреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдЬрдм рдЖрдк рдПрдХ рдПрдЖрд░рдПрдо рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо (рдЬреИрд╕реЗ) рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдХреЗрд╡рд▓ рдУрдкрдирд╕реАрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

(рдЕрд╕реНрд╡реАрдХрд░рдг: рд╕рд┐рд░реНрдл рдПрдХ рдмрд╛рд╣рд░реА рд╡реНрдпрдХреНрддрд┐, Tensorflow рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдКрдкрд░ рджреА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрд▓рдд рдФрд░ рднреНрд░рд╛рдордХ рд╣реЛред рдпрджрд┐ рдЖрдк рдмреЗрд╣рддрд░ рдЬрд╛рдирддреЗ рд╣реИрдВ рддреЛ рдореБрдЭреЗ рдХреЛрд╕рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред)

рдмрд╕ рдПрдХ рд╡рд┐рдЪрд╛рд░, рдирдП GPU рдСрдлрд▓реЛрдб рдХреЗ рд╕рд╛рде llvm рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдпрд╣ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдФрд░ рдХреНрдпреВрдбрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЛрдб рдХреЗ рдмреАрдЪ рдПрдХ рдорд╣рд╛рди рд╕реНрддрд░ рдХреА рдЕрдореВрд░реНрддрддрд╛ рд░рдЦреЗрдЧрд╛ред

рдЖрдк рд╕рднреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ рдЬреЛ рдКрдкрд░ рдХреЗрд╡рд▓ 10 рдкреЛрд╕реНрдЯ рдкрдврд╝ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд▓реНрдпреВрдХреАрд╡рд╛рдВрд╕реНрдХреА/рдХреЛрдбрдкреНрд▓реЗрд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рджреНрд╡рд╛рд░рд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдХрд╛рдВрдЯрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЖрдЬрдорд╛ рд╕рдХрддреЗ рд╣реИрдВ?
(рдПрдХ рдмрд╛рд░, рдХреБрдЫ рдЧрдВрднреАрд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрд╝рд┐рдпрд╛рдУрдореА рдХреЛ рдореЗрд░реА рд╕рд▓рд╛рдорддреА)

@FelixSchwarz рдмрд╕ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ ROCm OpenCL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ Linux рдкрд░ AMD рдХрд╛ рдпреВрдЬрд░рд╕реНрдкреЗрд╕ OpenCL рдбреНрд░рд╛рдЗрд╡рд░ рд╣реИ (рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ), рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдЗрд╕ рдмрд╛рдд рд╕реЗ рдЕрд╡рдЧрдд рдирд╣реАрдВ рд╣реИрдВ рдХрд┐ linux рдкрд░ AMD рдХрд╛ рдбреНрд░рд╛рдЗрд╡рд░ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЙрдирдХреЗ рдкрд╛рд╕ рд╣реИ рдЙрдирдХреЗ рдХрд░реНрдиреЗрд▓ рд╕рд╛рдЗрдб рдбреНрд░рд╛рдЗрд╡рд░ AMDGPU рдФрд░ AMDKFD (рдЬреЛ рдЕрдм AMDGPU рдореЗрдВ рд╡рд┐рд▓рдп рд╣реЛ рд░рд╣рд╛ рд╣реИ) рддреЛ рдпреВрдЬрд░рд╕реНрдкреЗрд╕ рдбреНрд░рд╛рдЗрд╡рд░ RadeonSI (OpenGL рдХреЗ рд▓рд┐рдП) RadV/AMDVLK (Vulkan рдХреЗ рд▓рд┐рдП) рдФрд░ ROCm (OpenCL рдХреЗ рд▓рд┐рдП) рд╣реИрдВред

рдЗрд╕ рдмрдЧ рдФрд░ рдЕрдиреНрдп рдлреЛрд░реНрдХреНрд╕ рдХреА рдЧрддрд┐рд╢реАрд▓рддрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, Google рдХреА рдЗрд╕рдореЗрдВ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИ рдФрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЗрд╕реЗ рдХрднреА рднреА рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ (рдпрд╛ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ) рдХреЗ рд▓рд┐рдП рд╡реЛрдЯ рдХрд░реВрдВрдЧрд╛ рддрд╛рдХрд┐ рд╕рднреА рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЭреВрдареА рдЙрдореНрдореАрдж рди рд╣реЛред

рдореБрджреНрджрд╛ рдпрд╣рд╛рдВ рдХрдо рд╕реЗ рдХрдо рдпрд╣рд╛рдВ рдЙрди рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдХрд░реЗрдВрдЧреЗ
рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВред

рд╢рдирд┐рд╡рд╛рд░, 15 рд╕рд┐рддрдВрдмрд░, 2018, 09:45 рдХреЛ рдПрдВрдЯреЛрди рдХреЛрдЪрдХреЛрд╡ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдЗрд╕ рдмрдЧ рдФрд░ рдЕрдиреНрдп рдХрд╛рдВрдЯреЗ рдХреА рдЧрддрд┐рд╢реАрд▓рддрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП Google рдХреЗ рдкрд╛рд╕ рд╢реВрдиреНрдп рд╣реИ
рдЗрд╕рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдХрднреА рднреА рдЕрдзрд┐рдХрд╛рд░реА рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ
рднрдВрдбрд╛рд░ред рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ (рдпрд╛ рдЗрд╕реЗ рд▓реЙрдХ рдХрд░рдиреЗ) рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╡реЛрдЯ рдХрд░реВрдВрдЧрд╛
рд╣рд░ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЭреВрдареА рдЖрд╢рд╛ рди рджреЗрдВред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/tensorflow/tensorflow/issues/22#issuecomment-421535747 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AB1qNyDrfbiQ4h3kQyqObEfpK3O0FqRGks5ubKIBgaJpZM4Gex3i
.

рдПрдХ TensorRT рд╣реИ рдЬреЛ Movidius Pi Hat рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИред рдФрд░ рд╡рд╣ Movidius Pi Hat Google рдХрд╛ $45 "AIY тАЛтАЛрд╡рд┐рдЬрд╝рди рдХрд┐рдЯ" рд╣реИред рдЗрд╕реЗ рдЦрд░реАрджрдиреЗ рдХреЗ рд▓рд┐рдП Google рдЯрд╛рд░рдЧреЗрдЯ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рдХрд╛ CUDA рдпрд╛ Nvidia рд╕реЗ рдХреЛрдИ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рд╣реИ? рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рдЗрдВрдЯреЗрд▓ рдЪрд┐рдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рджрд┐рд▓ рдореЗрдВ, рд╢рд╛рдпрдж рдЪрд┐рдк рдПрдХ FPGA рд╣реИ? рдХрд┐рд╕реА рдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдХреБрдЫ рдкрддрд╛ рд╣реИ?

рдореБрдЭреЗ рдмрдбрд╝реА Movidius рдЗрдХрд╛рдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдкрддрд╛ рд╣реИ - рдпрд╣ рдХреЗрд╡рд▓ рдЕрдиреБрдорд╛рди рд╣реИ рдФрд░ рдпрд╣ рдпрд╛ рддреЛ TensorFlow рдпрд╛ Caffe рдкреВрд░реНрд╡-рд╕рдВрдХрд▓рд┐рдд рдореЙрдбрд▓ рдЪрд▓рд╛рддрд╛ рд╣реИред IIRC рд╡реЗ рд╕рднреА 16 рдмрд┐рдЯ рдореЛрдб рдореЗрдВ рд╣реИрдВред

Movidius рдЪрд┐рдк рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИ рд▓реЗрдХрд┐рди SDK рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рдпреЛрдЧреНрдп рднрд╛рдЧреАрджрд╛рд░ рдмрдирдирд╛ рд╣реЛрдЧрд╛ред

рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд▓рд┐рдВрдХ рд░рдЦреЗрдВ рдЬреЛ рдЯреЗрдВрд╕рд░ рдУрдкрдирдХреНрд▓ рд░рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:

https://github.com/hughperkins/tf-coriander
https://github.com/CiahungTai/tensorflow-cl
https://github.com/guoyejun/tensorflow-cl
https://github.com/honggui/tensorflow-cl
https://github.com/benoitsteiner/tensorflow-opencl
https://github.com/lukeiwanski/tensorflow (рднрдВрдбрд╛рд░ рдкреБрд░рд╛рдирд╛ рд╣реИ)
https://github.com/codeplaysoftware/tensorflow
рд╢рд╛рдпрдж рдпрд╣ рднреА рдЬрд╛рдВрдЪрдиреЗ рд▓рд╛рдпрдХ рд╣реИ:

https://documen.tician.de/pyopencl/
https://pypi.org/project/DeepCL/
https://www.khronos.org/sycl/

рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдмреЗрдЭрд┐рдЭрдХ рдЬреЛрдбрд╝реЗрдВред

рдХреНрдпрд╛ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ? рдпрд╣ рдорд╛рдорд▓рд╛ 3 рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рдкреБрд░рд╛рдирд╛ рд╣реИред

рд╣рд╛рдБ, рдмрд╕ рдЕрдВрддрд┐рдо рдореБрдЯреНрдареА рднрд░ рдкреЛрд╕реНрдЯ рджреЗрдЦреЗрдВред

@ filips123 рдирд╣реАрдВ, рдХреЛрдИ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рд╣реИ рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрднреА рднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛ - рдЗрд╕рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╡рд┐рджреЗрд╢реА рдЖрдХреНрд░рдордг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рд╣реИ рдФрд░ рд╕рдордп рдкрд░ рд╡рд╛рдкрд╕ рдпрд╛рддреНрд░рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдвреВрдВрдв рд░рд╣реА рд╣реИред

рдпрд╣ рдЗрдВрдЯреЗрд▓реАрдЬреЗрдВрдЯ рдкрд╣рд▓ PlaidML рдпрдереЛрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдЗрд╕рдХреА рдЬрд╛рдБрдЪ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред
https://github.com/playidml/playidml
рдпрд╣ рдореИрдХ рдкрд░ рдУрдкрдирд╕реАрдПрд▓ рдпрд╛ рдореЗрдЯрд▓ рдкрд░ рдЪрд▓рддрд╛ рд╣реИред рдпрд╣ рдореИрдХрдмреБрдХ рдкреНрд░реЛ рдПрдПрдордбреА рдЬреАрдкреАрдпреВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдореИрдВ рдвреВрдВрдв рд░рд╣рд╛ рдерд╛ред
рдЗрд╕ рдмреАрдЪ, рдХреНрдпрд╛ рдЖрдк рд▓реЛрдЧ рдкреНрд▓реЗрдбрдПрдордПрд▓ рдореЗрдВ рдкрд╛рдЗрдЯреЛрд░рдЪ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рд╡реЛрдЯ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? https://github.com/playidml/playidml/issues/63

рдкреНрд▓реЗрдбрдПрдордПрд▓ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рднреА рдЕрдЪреНрдЫрд╛ рдФрд░ рдмреЗрд╡рдХреВрдл рд╣реИ (рдореИрдВ, рдПрдХ рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЯреАрдПрдл рдХреЗ рдХреНрдпреВрдбрд╛ рдХреЗ рдореБрдХрд╛рдмрд▓реЗ рдУрдкрдирд╕реАрдПрд▓ рдкрд░ рдПрдирд╡реАрдбрд┐рдпрд╛ рдЬреАрдкреАрдпреВ рдкрд░ рдЕрдзрд┐рдХ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ) ..
рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд░рд╕ рдХреЗ рд▓рд┐рдП рдмреИрдХрдПрдВрдб рд╣реИ? рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдХреЗ рдкреВрд░реНрдг рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдореЗрдВ, рдЬрд┐рд╕реЗ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдпрд╣ рд░реЗрдкреЛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?
(рдЬрд┐рддрдирд╛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд╡реАрдирддрдо рдЯреАрдПрдл рд╕рдВрд╕реНрдХрд░рдг рд╕реАрдзреЗ рдХреЗрд░рд╕ рдХреЛ рдореЙрдбрд▓ рдирд┐рд░реНрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рддреЛ рд╡рд╣рд╛рдВ рд╣реИ ..)

рд╡реИрд╕реЗ рднреА, рдЪреМрдереЗ рд▓рд╛рдирдд рд╕рдордп рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдУрдкрдирдХреНрд▓ рдкрд░ рд╣рд╛рд▓рд┐рдпрд╛ рд╕рдорд╛рдзрд╛рди рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рдЕрднреА рднреА рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ ( рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдХ рджрд┐рди рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рд╡рд┐рд▓рдп рдХрд░рдиреЗ рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рд╡рд╛рд▓реА рдмрд╛рдд), рддреЛ рдХреЗрд╡рд▓ рдХреЛрдбрдкреНрд▓реЗ рд╕реНрдЯреИрдХ рд╣реИред
рдлрд┐рд░ рд╕реЗ:
https://developer.codeplay.com/computecppce/latest/tensorflow-overview
https://github.com/Rbiessy/tensorflow/tree/dev/amd_gpu

рдкреНрд▓реЗрдбрдПрдордПрд▓ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рднреА рдЕрдЪреНрдЫрд╛ рдФрд░ рдмреЗрд╡рдХреВрдл рд╣реИ (рдореИрдВ, рдПрдХ рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЯреАрдПрдл рдХреЗ рдХреНрдпреВрдбрд╛ рдХреЗ рдореБрдХрд╛рдмрд▓реЗ рдУрдкрдирд╕реАрдПрд▓ рдкрд░ рдПрдирд╡реАрдбрд┐рдпрд╛ рдЬреАрдкреАрдпреВ рдкрд░ рдЕрдзрд┐рдХ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ) ..
рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд░рд╕ рдХреЗ рд▓рд┐рдП рдмреИрдХрдПрдВрдб рд╣реИ? рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдХреЗ рдкреВрд░реНрдг рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдореЗрдВ, рдЬрд┐рд╕реЗ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдпрд╣ рд░реЗрдкреЛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?
(рдЬрд┐рддрдирд╛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд╡реАрдирддрдо рдЯреАрдПрдл рд╕рдВрд╕реНрдХрд░рдг рд╕реАрдзреЗ рдХреЗрд░рд╕ рдХреЛ рдореЙрдбрд▓ рдирд┐рд░реНрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рддреЛ рд╡рд╣рд╛рдВ рд╣реИ ..)

рд╡реИрд╕реЗ рднреА, рдЪреМрдереЗ рд▓рд╛рдирдд рд╕рдордп рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдУрдкрдирдХреНрд▓ рдкрд░ рд╣рд╛рд▓рд┐рдпрд╛ рд╕рдорд╛рдзрд╛рди рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рдЕрднреА рднреА рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ (_рдФрд░ рднреА_ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрд╡рд╕рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдХ рджрд┐рди рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рд╡рд┐рд▓рдп рдХрд░рдиреЗ рдХреА рдмрд╛рдд), рддреЛ рдХреЗрд╡рд▓ рдХреЛрдбрдкреНрд▓реЗ рд╕реНрдЯреИрдХ рд╣реИред
рдлрд┐рд░ рд╕реЗ:
https://developer.codeplay.com/computecppce/latest/tensorflow-overview
https://github.com/Rbiessy/tensorflow/tree/dev/amd_gpu

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдХреЛрдИ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдерд╛ред рдореЗрд░реЗ рджрд┐рдорд╛рдЧреА рджрд┐рдорд╛рдЧ рдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдХреЗрд░рд╕ рдЬреАрдкреАрдпреВ рд╕рдкреЛрд░реНрдЯ == рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рд╕рдкреЛрд░реНрдЯред

рдкреНрд▓реЗрдбрдПрдордПрд▓ рд╕реБрдкрд░ рдХреВрд▓ рд╣реИред рдХреЗрд░рд╕ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдмреЗрд╢рдХ рдореБрдЭреЗ рдкреНрд▓реЗрдбрдПрдордПрд▓ рдмреИрдХрдПрдВрдб рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЯреАрдПрдл рдХреЛрдб рдХреЛ рд╢реБрджреНрдз рдХреЗрд░рд╕ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП tf.image.ssim)
рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдо - рдореЗрд░рд╛ рдХреЛрдб NVIDIA рдФрд░ AMD рдХрд╛рд░реНрдб рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╕рд╛рде рд╣реА рдкреНрд▓реЗрдбрдПрдордПрд▓ рд╢реЛрдзрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд░реНрдЧ рд╣реИред рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ "рдЯрд╛рдЗрд▓" рднрд╛рд╖рд╛ рдкрд░ рд▓рд┐рдЦреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЖрдкрдХреЗ GPU рдкрд░ 80% рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдХреА рдЧрддрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐ ML рд╢реЛрдзрдХрд░реНрддрд╛ рдЕрднреА рднреА PyTorch рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдЖрдЗрдП рдЗрдВрдЯреЗрд▓ рдХреЗ рдкреНрд▓реЗрдбрдПрдордПрд▓ рдХреЗ рд╕рд╛рде рдПрдордПрд▓ рд╕рд╛рдЗрдВрд╕ рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдВ?

@iperov рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рджреЗрдЦрднрд╛рд▓ рдХрд░реЗрдВ рдХрд┐ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдХреЛрдИ рднреА PlaidML рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ?

  1. рдпрд╣ Tensorflow рдХреЗ CUDA рдмреИрдХрдПрдВрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ AMD рдХреЗ OpenCL рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рджрдпрдиреАрдп рд░реВрдк рд╕реЗ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХрдо рд╕реЗ рдХрдо рдЖрдзрд╛ рдХрд╛рд░рдг рд╣реИред рдкреНрд░рджрд░реНрд╢рди рдЗрддрдирд╛ рдЦрд░рд╛рдм рд╣реИ рдХрд┐ CPU рдХреЗ рд╕рд╛рде Tensorflow рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рд╣реИ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ PlaidML рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдирдХреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рд░рд╛ рджреЗрддрд╛ рд╣реИ?

  2. рдХрд┐рд╕реА рдХреЛ рднреА рдЕрдкрдиреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯрд╛рдЗрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдореЗрдВ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рд╢реБрджреНрдз рдЧрдгрд┐рдд рдХреЗ рдкреНрд░реЛрдлреЗрд╕рд░ рдЬреИрд╕рд╛ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рд╣реА рдЧрдврд╝реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдкреНрд▓реЗрдбрдПрдордПрд▓ рдХреА рдХреЛрдб рдЧреБрдгрд╡рддреНрддрд╛ рдмрд╕ рдиреАрдЪреЗ рдЪрд▓реА рдЬрд╛рддреА рд╣реИ рдФрд░ рдХреЛрдИ рднреА рдЧрдВрднреАрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЕрдкрдиреЗ рд╕рд╣реА рджрд┐рдорд╛рдЧ рдореЗрдВ рдЕрддреНрдпрдзрд┐рдХ рдЪрддреБрд░ рдХреЛрдб рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣реЗрдЧрд╛ ...

  3. рдпрд╣ рдХрд╛рдлреА рд╣рдж рддрдХ #2 рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ рд▓реЗрдХрд┐рди рдЬрдм рд╕реЗ Intel рдиреЗ Vertex.AI рдХреЛ рдЦрд░реАрджрд╛ рд╣реИ, рд╡реЗ рдЕрдм PlaidML рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред GPU рдХрдВрдкреНрдпреВрдЯ рддреНрд╡рд░рд┐рдд рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯреЗрд▓ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЧрд╣рди рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдХрдВрдкрд╛рдЗрд▓рд░ рдкреЗрд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЕрдм nGraph рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЙрдирдХреЗ рд▓рд┐рдП рдмреИрдХрдПрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ Tensorflow, PyTorch рдпрд╛ рдЕрдиреНрдп рдЧрд╣рди рд╢рд┐рдХреНрд╖рдг рдврд╛рдВрдЪреЗ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЙрдирдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡реЗ рдкреНрд▓реЗрдбрдПрдордПрд▓ рдХреЛ рдЕрдкрдиреЗ рдордзреНрдпрд╕реНрде рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд░рд╣реЗрдВ рдЬрдм рдЙрдирдХреЗ рдкрд╛рд╕ nGraph рд╣реЛ ...

рд▓реЛрдЧ PyTorch рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреНрдп рдХрд╛рд░рдгреЛрдВ рдЬреИрд╕реЗ рд░рдЦрд░рдЦрд╛рд╡ рдпрд╛ рдЕрдиреНрдп рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП PlaidML Intel рдХрд╛ рдЙрдкрдХрд░рдг рд╣реИ рдФрд░ рд╡реЗ рд╢рд╛рдпрдж рдЗрд╕реЗ рдЕрдкрдиреА рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдЕрдВрддрд┐рдо рднрд╛рдЧреЛрдВ рдХреА рдХрд┐рд╕реА рднреА рднреВрдорд┐рдХрд╛ рдореЗрдВ рдирд┐рднрд╛рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВред рдПрдирдЧреНрд░рд╛рдл рдХрд╛ рд╡рд░реНрддрдорд╛рди рдЗрдВрдЯреЗрд▓ рдЬреАрдкреАрдпреВ рдмреИрдХрдПрдВрдб рдУрдкрдирд╕реАрдПрд▓ 2.1 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдЗрдВрдЯреЗрд▓ рдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрдиреБрд░реВрдк рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрдВрдЯреЗрд▓ рдХреЗрд╡рд▓ рдорд╢реАрди рд╕реАрдЦрдиреЗ рдХреА рдмреЗрд╣рддрд░реА рдХреЗ рдмрдЬрд╛рдп рдЦреБрдж рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрдж рд╣реИред рдЬрдм рдЗрдВрдЯреЗрд▓ рдЖрдЧреЗ nGraph рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ OpenCL 2.1 рдкрд░ рдЕрдкрдиреЗ GPU рдмреИрдХрдПрдВрдб рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рдЬрд╛рд░реА рдирд╣реАрдВ рд░рдЦ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдХрдИ рдЧрд╣рди рд╢рд┐рдХреНрд╖рдг рдврд╛рдВрдЪреЗ рдореЗрдВ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд░реНрдиреЗрд▓ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ OpenCL, рдзрд╛рддреБ рдпрд╛ Vulkan рдХреЗ рдЕрд▓рдЧ рд╕реНрд░реЛрдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╢рд╛рдпрдж рд╣реИ рдХреЗрд╡рд▓ рдкреНрд░рдпреЛрдЧ рдХреЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдПред рдЗрдВрдЯреЗрд▓ рдХрд╛ рдЕрдВрддрд┐рдо рдЬреАрдкреАрдпреВ рдмреИрдХрдПрдВрдб рд╢рд╛рдпрдж рдпрд╛ рддреЛ рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ 2.2 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрдЧрд╛ рдпрд╛ рдУрдкрдирдПрдордкреА рдХреА рддрд░рд╣ рдХреБрдЫ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реЛрдЧрд╛ рдФрд░ рд╢рд╛рдпрдж рд╡реЗ рдПрдХ рд╡рд┐рдХреНрд░реЗрддрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╛рдзрд╛рди рднреА рд▓рд╛рдПрдВрдЧреЗ ...

рдПрдПрдордбреА рдХреЗ рд▓рд┐рдП, рдХреМрди рдкрд░рд╡рд╛рд╣ рдХрд░рддрд╛ рд╣реИ? рдУрдкрдирд╕реАрдПрд▓ рдЙрдирдХреЗ рд▓рд┐рдП рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ рдФрд░ рд╡реЗ рдЕрдВрддрддрдГ рдПрдЪрдЖрдИрдкреА рдкрд░ рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рд╕рд╛рде рдХреБрдЫ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛ рд░рд╣реЗ рд╣реИрдВ ...

@iperov рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рджреЗрдЦрднрд╛рд▓ рдХрд░реЗрдВ рдХрд┐ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдХреЛрдИ рднреА PlaidML рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ?

  1. рдпрд╣ Tensorflow рдХреЗ CUDA рдмреИрдХрдПрдВрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ AMD рдХреЗ OpenCL рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рджрдпрдиреАрдп рд░реВрдк рд╕реЗ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХрдо рд╕реЗ рдХрдо рдЖрдзрд╛ рдХрд╛рд░рдг рд╣реИред рдкреНрд░рджрд░реНрд╢рди рдЗрддрдирд╛ рдЦрд░рд╛рдм рд╣реИ рдХрд┐ CPU рдХреЗ рд╕рд╛рде Tensorflow рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рд╣реИ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ PlaidML рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдирдХреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рд░рд╛ рджреЗрддрд╛ рд╣реИ?
  2. рдХрд┐рд╕реА рдХреЛ рднреА рдЕрдкрдиреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯрд╛рдЗрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдореЗрдВ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рд╢реБрджреНрдз рдЧрдгрд┐рдд рдХреЗ рдкреНрд░реЛрдлреЗрд╕рд░ рдЬреИрд╕рд╛ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рд╣реА рдЧрдврд╝реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдкреНрд▓реЗрдбрдПрдордПрд▓ рдХреА рдХреЛрдб рдЧреБрдгрд╡рддреНрддрд╛ рдмрд╕ рдиреАрдЪреЗ рдЪрд▓реА рдЬрд╛рддреА рд╣реИ рдФрд░ рдХреЛрдИ рднреА рдЧрдВрднреАрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЕрдкрдиреЗ рд╕рд╣реА рджрд┐рдорд╛рдЧ рдореЗрдВ рдЕрддреНрдпрдзрд┐рдХ рдЪрддреБрд░ рдХреЛрдб рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣реЗрдЧрд╛ ...
  3. рдпрд╣ рдХрд╛рдлреА рд╣рдж рддрдХ #2 рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ рд▓реЗрдХрд┐рди рдЬрдм рд╕реЗ Intel рдиреЗ Vertex.AI рдХреЛ рдЦрд░реАрджрд╛ рд╣реИ, рд╡реЗ рдЕрдм PlaidML рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред GPU рдХрдВрдкреНрдпреВрдЯ рддреНрд╡рд░рд┐рдд рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯреЗрд▓ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЧрд╣рди рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдХрдВрдкрд╛рдЗрд▓рд░ рдкреЗрд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЕрдм nGraph рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЙрдирдХреЗ рд▓рд┐рдП рдмреИрдХрдПрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ Tensorflow, PyTorch рдпрд╛ рдЕрдиреНрдп рдЧрд╣рди рд╢рд┐рдХреНрд╖рдг рдврд╛рдВрдЪреЗ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЙрдирдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡реЗ рдкреНрд▓реЗрдбрдПрдордПрд▓ рдХреЛ рдЕрдкрдиреЗ рдордзреНрдпрд╕реНрде рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд░рд╣реЗрдВ рдЬрдм рдЙрдирдХреЗ рдкрд╛рд╕ nGraph рд╣реЛ ...

рд▓реЛрдЧ PyTorch рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреНрдп рдХрд╛рд░рдгреЛрдВ рдЬреИрд╕реЗ рд░рдЦрд░рдЦрд╛рд╡ рдпрд╛ рдЕрдиреНрдп рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП PlaidML Intel рдХрд╛ рдЙрдкрдХрд░рдг рд╣реИ рдФрд░ рд╡реЗ рд╢рд╛рдпрдж рдЗрд╕реЗ рдЕрдкрдиреА рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдЕрдВрддрд┐рдо рднрд╛рдЧреЛрдВ рдХреА рдХрд┐рд╕реА рднреА рднреВрдорд┐рдХрд╛ рдореЗрдВ рдирд┐рднрд╛рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВред рдПрдирдЧреНрд░рд╛рдл рдХрд╛ рд╡рд░реНрддрдорд╛рди рдЗрдВрдЯреЗрд▓ рдЬреАрдкреАрдпреВ рдмреИрдХрдПрдВрдб рдУрдкрдирд╕реАрдПрд▓ 2.1 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдЗрдВрдЯреЗрд▓ рдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрдиреБрд░реВрдк рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрдВрдЯреЗрд▓ рдХреЗрд╡рд▓ рдорд╢реАрди рд╕реАрдЦрдиреЗ рдХреА рдмреЗрд╣рддрд░реА рдХреЗ рдмрдЬрд╛рдп рдЦреБрдж рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрдж рд╣реИред рдЬрдм рдЗрдВрдЯреЗрд▓ рдЖрдЧреЗ nGraph рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ OpenCL 2.1 рдкрд░ рдЕрдкрдиреЗ GPU рдмреИрдХрдПрдВрдб рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рдЬрд╛рд░реА рдирд╣реАрдВ рд░рдЦ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдХрдИ рдЧрд╣рди рд╢рд┐рдХреНрд╖рдг рдврд╛рдВрдЪреЗ рдореЗрдВ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд░реНрдиреЗрд▓ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ OpenCL, рдзрд╛рддреБ рдпрд╛ Vulkan рдХреЗ рдЕрд▓рдЧ рд╕реНрд░реЛрдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╢рд╛рдпрдж рд╣реИ рдХреЗрд╡рд▓ рдкреНрд░рдпреЛрдЧ рдХреЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдПред рдЗрдВрдЯреЗрд▓ рдХрд╛ рдЕрдВрддрд┐рдо рдЬреАрдкреАрдпреВ рдмреИрдХрдПрдВрдб рд╢рд╛рдпрдж рдпрд╛ рддреЛ рдПрд╕рд╡рд╛рдИрд╕реАрдПрд▓ 2.2 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрдЧрд╛ рдпрд╛ рдУрдкрдирдПрдордкреА рдХреА рддрд░рд╣ рдХреБрдЫ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реЛрдЧрд╛ рдФрд░ рд╢рд╛рдпрдж рд╡реЗ рдПрдХ рд╡рд┐рдХреНрд░реЗрддрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╛рдзрд╛рди рднреА рд▓рд╛рдПрдВрдЧреЗ ...

рдПрдПрдордбреА рдХреЗ рд▓рд┐рдП, рдХреМрди рдкрд░рд╡рд╛рд╣ рдХрд░рддрд╛ рд╣реИ? рдУрдкрдирд╕реАрдПрд▓ рдЙрдирдХреЗ рд▓рд┐рдП рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ рдФрд░ рд╡реЗ рдЕрдВрддрддрдГ рдПрдЪрдЖрдИрдкреА рдкрд░ рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рд╕рд╛рде рдХреБрдЫ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛ рд░рд╣реЗ рд╣реИрдВ ...

рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рдФрд░ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкреАрдЖрдИ рдУрдбреНрд░реЙрдЗрдб рдФрд░ рдЖрджрд┐ рдЬреИрд╕реЗ рдЖрд░реНрдо рдорд╢реАрди рдХреЗ рдЕрдВрджрд░ рд╕рднреА рдЬреАрдкреАрдпреВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
рд╡реЗ рдУрдкрдирд╕реАрдПрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ?
Google рдХреЛ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдЬреАрдкреАрдпреВ рдкрд░ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рдбрд╛рд▓рдиреЗ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред
рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд╛ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗрд╡рд▓ рдПрдирд╡реАрдбрд┐рдпрд╛ рдЬреАрдкреАрдпреВ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, рдпрд╣ рд╕рд┐рд░реНрдл рдПрдирд╡реАрдбрд┐рдпрд╛ рдЬреАрдкреАрдпреВ рдХреЛ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдорд╣рдВрдЧрд╛ рдмрдирд╛рддрд╛ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд▓реЛрдЧ рдФрд░ рдХрдВрдкрдирд┐рдпрд╛рдВ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдкреЗрд╢реЗрд╡рд░ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЦрд░реАрджрддреЗ рд╣реИрдВ), рддреЛ Google рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЕрдзрд┐рдХ рдкреИрд╕рд╛ рдЦреЛ рджреЗрдЧрд╛ред

@Degerz рдЖрдк рдХрд┐рд╕ рдЧреНрд░рд╣ рд╕реЗ рдЖрдП рд╣реИрдВ?
рдЖрдк tf-CPU рдФрд░ AMD GPU рдХреА рддреБрд▓рдирд╛ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдкреНрд▓реЗрдбрдПрдордПрд▓ x30 рдкрд░ рдПрдПрдордбреА рдЬреАрдкреАрдпреВ рдЯреАрдПрдл-рд╕реАрдкреАрдпреВ рд╕реЗ рддреЗрдЬ рд╣реИ

  1. рдпрд╣ Tensorflow рдХреЗ CUDA рдмреИрдХрдПрдВрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ AMD рдХреЗ OpenCL рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рджрдпрдиреАрдп рд░реВрдк рд╕реЗ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХрдо рд╕реЗ рдХрдо рдЖрдзрд╛ рдХрд╛рд░рдг рд╣реИ

рдореЗрд░реЗ рдбреАрдкрдлреЗрдХ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдУрдкрдирд╕реАрдПрд▓ рдХреЗрд╡рд▓ 20% рдзреАрдорд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдорд┐рдиреА рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдУрдкрдирд╕реАрдПрд▓ 20% рддреЗрдЬ рд╣реИред

рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдбреАрдкрдлреЗрд╕рд▓реИрдм рдореЗрдВ рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВ рдЬреЛ рдПрдПрдордбреА рдХреЗ рд╕рдорд░реНрдерди рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдХрд┐рддрдиреЗ рд▓реЛрдЧ рдкреНрд░рд╕рдиреНрди рд╣реБрдП рдЬрдм рдбреАрдкрдлреЗрдХ рдХреЛ рдЕрдВрддрддрдГ рдПрдПрдордбреА рдХрд╛рд░реНрдб рдкрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдкреНрд▓реЗрдбрдПрдордПрд▓ рдХреЗрд░рд╕ рдХреЗ рд▓рд┐рдП рдПрдХрдорд╛рддреНрд░ рдмреИрдХрдПрдВрдб рд╣реИ рдЬреЛ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдПрдПрдордбреА/рдЗрдВрдЯреЗрд▓рдПрдЪрдбреА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдпрджрд┐ рдХреЗрд░рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдПрдПрдордбреА рдмреИрдХрдПрдВрдб рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рддреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореЗрд░рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЙрд╕ рдкрд░ рд╕реНрд╡рд┐рдЪ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
PyTorch рдХрд╛ рдХреЛрдИ рднрд╡рд┐рд╖реНрдп рдирд╣реАрдВ рд╣реИред

рдкреНрд▓реЗрдбрдПрдордПрд▓ рдореЗрдВ рдХреНрдпрд╛ рдмрдирд╛рдП рд░рдЦрдирд╛ рд╣реИ? рдСрдкреНрд╕ рдСрдЯреЛ рдбрд┐рдлрд░реЗрдВрд╢рд┐рдпрд▓ рд╣реИрдВ, рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред

рдЯрд╛рдЗрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рд╢реБрджреНрдз рдЧрдгрд┐рдд рдХреЗ рдкреНрд░реЛрдлреЗрд╕рд░ рдЬреИрд╕рд╛ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рд╣реА рдордирдЧрдврд╝рдВрдд рд╣реЛрдЧрд╛

рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдЧрдгрд┐рдд рдХреЗ рдкреНрд░реЛрдлреЗрд╕рд░реЛрдВ рдиреЗ рдХрд┐рдпрд╛ рд╣реИ, рд╣реИ рдирд╛?

@talregev рдПрдЖрд░рдПрдо рдпрд╛ рдмреНрд░реЙрдбрдХреЙрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдкреВрд░реНрд╡ рдореЗрдВ рд╢рд╛рдпрдж рд╕рдмрдкрд░ рдУрдкрдирд╕реАрдПрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ рдФрд░ рдмрд╛рдж рд╡рд╛рд▓рд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдУрдкрдирд╕реАрдПрд▓ рдбреНрд░рд╛рдЗрд╡рд░ рднреА рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ! рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдХреНрд╖рдо рдХрдВрдкреНрдпреВрдЯ рд╕реНрдЯреИрдХ рдмрдирд╛рдирд╛ рдФрд░ рдмрдирд╛рдП рд░рдЦрдирд╛ Google рдХреА рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░реА рдирд╣реАрдВ рд╣реИ ...

@iperov рдЖрдкрдХреЛ рдПрд╣рд╕рд╛рд╕ рд╣реИ рдХрд┐ рдкреНрд▓реЗрдбрдПрдордПрд▓ рдкрд░ рдПрдореНрдмреЗрдбрд┐рдВрдЧ рдкрд░рддреЛрдВ рдХреЗ рд╕рд╛рде рддрдВрддреНрд░рд┐рдХрд╛ рдЬрд╛рд▓ рдХрд╛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рджрд░реНрджрдирд╛рдХ рд╣реИ, рд╣реИ рдирд╛? PlaidML рдХреЗ рдкрд╛рд╕ рдЕрдиреНрдп рд╕реАрдорд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рднреА рд╣реИ рдЬреИрд╕реЗ рдХрд┐ DenseNets рдХреЗ рд▓рд┐рдП рд╡рд╣ рд╕рдм рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ рдпрд╛ рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЧрдгрдирд╛ рдЧреНрд░рд╛рдлрд╝ рд╕реНрдерд┐рд░ рд╣реИ рдФрд░ рдХреНрдпрд╛ PlaidML RNN рдХреЗ рд╕рд╛рде рднреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рд╕рд╡рд╛рд▓ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рди рдХрд░реЗрдВред рдЖрдк Tensorflow рдХреА рддрд░рд╣ рдХреБрдЫ рдмреЗрд╣рддрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ MIOpen рдХреЗ рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж AMD рдЬрд▓реНрдж рд╣реА рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рджреЗрд╢реА GPU рдмреИрдХрдПрдВрдб рдХреА рдкреЗрд╢рдХрд╢ рдХрд░реЗрдЧрд╛, рдЬреЛ рдХрд┐ рдЙрдирдХреЗ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА cuDNN рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рдорд╛рди рдЧрд╣рд░реЗ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдЗрдореЗрдЯрд┐рд╡ рдХрд╛ рдЙрдирдХрд╛ GPU рддреНрд╡рд░рд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ, рдЬреЛ рджреЛрдиреЛрдВ PlaidML рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдзреВрд▓ред рд╡реИрд╕реЗ рднреА Intel iGPUs рдХреА рдХрд┐рд╕реЗ рдкрд░рд╡рд╛рд╣ рд╣реИ? рдпрджрд┐ рдЗрдВрдЯреЗрд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдкрдиреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рдЕрд╕рддрдд рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдЧрд╣рди рд╢рд┐рдХреНрд╖рд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИ рддреЛ рд╡реЗ рдЕрдиреНрдп (AMD/HIP рдФрд░ Nvidia/CUDA) рдХреА рддрд░рд╣ рд╣реА рдПрдХ рдПрдХрд▓ рд╕реНрд░реЛрдд рд╡рд┐рдХрд▓реНрдк рдХреА рдкреЗрд╢рдХрд╢ рдХрд░реЗрдВрдЧреЗ ...

PyTorch рдХрд╛ рдХреЛрдИ рднрд╡рд┐рд╖реНрдп рдирд╣реАрдВ рд╣реИред

рдмрд╣реБрдд рдИрд░реНрд╖реНрдпрд╛? PyTorch, PlaidML рдХреА рддреБрд▓рдирд╛ рдореЗрдВ ~ 10x рдЕрдзрд┐рдХ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИ, DL рдореЗрдВ рдирд╡реАрдирддрдо рддрдХрдиреАрдХреЛрдВ рдХреЛ PyTorch рдкрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд┐рднрд┐рдиреНрди рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рдЯрди рдФрд░ рдлреЗрд╕рдмреБрдХ рджреНрд╡рд╛рд░рд╛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ Intel рдиреЗ рд▓рдЧрднрдЧ рдПрдХ рдорд╣реАрдиреЗ рдореЗрдВ PlaidML рдореЗрдВ рдпреЛрдЧрджрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рд╣реИ?

рдкреНрд▓реЗрдбрдПрдордПрд▓ рдореЗрдВ рдХреНрдпрд╛ рдмрдирд╛рдП рд░рдЦрдирд╛ рд╣реИ? рдСрдкреНрд╕ рдСрдЯреЛ рдбрд┐рдлрд░реЗрдВрд╢рд┐рдпрд▓ рд╣реИрдВ, рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред

рддреЛ рдореИрдВ рдЖрдкрд╕реЗ рдпрд╣ рд▓реЗрддрд╛ рд╣реВрдВ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдкреНрд▓реЗрдбрдПрдордПрд▓ рдХреЛ рдХреЛрдИ рдирдпрд╛ рдлрд┐рдХреНрд╕ рдпрд╛ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдВ рдирд╣реАрдВ рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдП? рдпрджрд┐ рдЖрдк рдХреЛрдб рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдореВрд▓реНрдп рдирд╣реАрдВ рджреЗрдЦрддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдкреНрд▓реЗрдбрдПрдордПрд▓ рдХреА рд╕реНрдкрд╖реНрдЯ рдЦрд╛рдорд┐рдпреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордирд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ ...

рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдЧрдгрд┐рдд рдХреЗ рдкреНрд░реЛрдлреЗрд╕рд░реЛрдВ рдиреЗ рдХрд┐рдпрд╛ рд╣реИ, рд╣реИ рдирд╛?

рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЯрд╛рдЗрд▓ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬреЛ рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдЙрд╕реЗ рд▓реЗрдирд╛ рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдВ рдкрдардиреАрдпрддрд╛ рдкрд░ рд▓рд╛рд▓рд┐рддреНрдп рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдиреБрдХреВрд▓ рд╣реИред рдпрд╣ рдХреЛрдИ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрддрдиреЗ рд╕рд╛рд░реЗ рд╕рдВрднрд╛рд╡рд┐рдд рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рд╕реЗ рдХреНрдпреЛрдВ рдбрд░рддреЗ рд╣реИрдВ ...

рдЬреАрд╕рд╕, рдореИрдВ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ рдПрд╕рдЯреАрдПрдлрдпреВ рдХреА рдХрд╛рдордирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХрд╛рдо рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реВрдВред рдореБрдЭреЗ рдЯрд┐рдХрдЯ рд╕реЗ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреА рд╣реЛрдЧреА рдХреНрдпреЛрдВрдХрд┐ рдЬреНрд╡рд╛рд▓рд╛ рдпреБрджреНрдзреЛрдВ рдХреЗ рд╕рд╛рде рдИрдореЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрд╕рд╣рдиреАрдп рд╣реИред рдмрд╣реБрдд рдЦрд░рд╛рдм рдЕрдиреБрд░рдХреНрд╖рдХ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

@gunan @caisq @sanjoy рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

NHDaly picture NHDaly  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

RahulKulhari picture RahulKulhari  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

fobus42 picture fobus42  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

aerointern16 picture aerointern16  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

MrSaad picture MrSaad  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ