Support fp16 data type for more operations and fix the minor errors. (Don't use this! It's an incomplete version)