In a large bowl, beat oil, eggs, and sugar together with a mixer until smooth.
Add in the flour, baking soda, baking powder, cinnamon,and salt. Beat again with the mixer until well combined.
Add in the carrots and walnuts if desired and stir by hand until combined.
Pour into a greased 15 x 10 x 1 inch baking sheet. Bake at 350 degrees for 30-35 minutes until a toothpick inserted in the center comes out clean. Allow cake to cool.
For the frosting, beat the butter with a mix until smooth. Add in the cream cheese and beat again until smooth.
Add in the vanilla and half the powdered sugar beat until smooth. Then add in the remaining sugar and beat until smooth. Spread over the cooled cake and sprinkle with chopped walnuts if desired. Serves 24-30.