Make custom maya texture 2d node renderable in Arnold

Hi all, I wrote a custom maya node which located in hypershader-texture-2d, the node class is derived from MPxNode and has a color output plug, I finished all computation in Compute() method which is a virtual method defined in MPxNode class, now I can render it correctly in Maya Software Renderer, but I need to have the same thing to be rendered in Arnold, all the info I got from support and web told me, I need to use Arnold SDK to write the node again, but I am not sure about this, am I correct?

Since I thought Arnold translator is not the thing I want, translator is a fake way to use Arnold node to mimic something close to maya things, but my shader is too messy, so I can not just use some equivalent parameters between an Arnold node and my node, so I thought translator can not solve my problem right ?

So write my shader again in Arnold SDK was the only way I can choose now, which is a nightmare?