I've got autistic twins, a DD and a DS. My DS was diagnosed very young, needed special school and aged 12 years old now, he's still in nappies. Has a variety of quite substantial needs. Similar to your DS, he was non-verbal for a considerable time. I remember the head banging and self harming very well. It was an awful time. He was also diagnosed as having a sensory processing disorder, and dyspraxia - all pretty common things that go along with autism.
DD is different, not diagnosed until she was 10, flew under the radar. When I pushed, she got seen by SLT and paediatrics and they were shocked at how she'd been missed. Her receptive language was around a 6yr old - but school hadn't noticed. Girls can mask unbelievably well. She has a second, stand-alone diagnosis of language processing disorder alongside ASD. I suspect she also has ADHD, female inattentive presentation so again, missed. Sigh.
You've had some amazing advice on this thread. And of course it's hard. It's a huge adjustment. But what I would say - in the gentlest possible way - is that your DS is so very, very young still. Try not to hyper focus on the things that you don't think he'll ever do because - as I know from personal experience - our lovely children often defy predictions. Not speaking at age 3 isn't unusual with autistic children. Sometimes things just develop at their own pace. And if he is still non-verbal in another five years, there are lots of ways to reach him and communicate.
There are so many things that can and do help. The fact he sleeps well is an absolute godsend because sleep deprivation makes everything harder.
We absolutely relied on photos and PECS for years but found they could sometimes cause more problems which we didn't anticipate. So, for example, the dinner picture showed a plate and food - but I didn't anticipate that DS would then be expecting to get the food on the plate (it was sausage and mash and I dished up pasta). Cue enormous meltdown. Took me ages to figure out what was triggering it. Small things you'll just pick up as you go along for your child.
Anyway, as part of all of this I have discovered that actually I'm autistic and have ADHD myself. Obviously, I'm very different to your DS but I can tell you that things not being predictable don't feel "safe" and make me feel anxious. Unexpected noise make my head feel too busy and it's uncomfortable. Lots of things going on is overwhelming at times and makes me want to hide. I can't always figure out what to do, even when it's obvious to other people (Tesco changed their self-checkouts near me and I couldn't understand where I was supposed to put the basket - there was just a weird hole).
At age three, all of these types of feelings are just too much. Your DS can't identify what he's feeling and why, so it just feels frustrating. Add in the difficulties with communication and that's where the banging his head etc comes in. Frustration, anger and feeling overwhelmed.
Space. Time. Predictability. Preparation. Routine. Managing stimulation. All of these things will be your friend and help your darling boy.
There are lots of us out there who have/are dealing with exactly the same issues as you, and there are some fabulously creative solutions which might help you. Connect with local SEN parents - they will be your tribe and support, in a way that someone who hasn't been through it can't (despite their absolute best efforts and intentions).
Allow yourself to grieve and adjust, but try not to get too caught up in the "he'll never do...." thoughts. He's very very young still. You might be surprised at what the future holds. I'm almost 10 years ahead of you with my 12yr old twins and I never would have expected to be in such a good place with them now. Those early years were so bloody hard. Hang in there.