I have investigated on using DirectML directly instead of the wrapper DirectMLX.h.
I have enabled the sigmoid and add op these days as my first step. The end2end tests can pass.
I also drafted a design doc for the DirectML backend implementation, looking forward to your comments and suggestions, thanks!