Preheat the oven to 325°. Butter two 9-inch cake pans; line the bottoms with parchment. Butter the paper and flour the pans.
Spread the pecans on a baking sheet and toast for 8 minutes, until fragrant. Let cool and finely chop the pecans.
In a bowl, whisk together the flour, baking powder, baking soda, cinnamon and salt.
In a small bowl, whisk the oil, buttermilk and vanilla.
Using mixer, in another large bowl beat the eggs and sugar at high speed approximately 5 minutes until pale in color.
Beat in the liquid ingredients.
Beat in the dry ingredients just until moistened, then stir in the carrots and pecans.
Divide the batter between the pans and bake the cakes for 55 minutes to 1 hour, until springy and golden. Let the cakes cool on a rack for 30 minutes, then unmold the cakes and let cool completely.
In a large bowl, using an electric mixer, beat the butter and cream cheese at high speed until light, about 5 minutes.
Beat in the vanilla, salt, then 1/2 of the confectioners' sugar; beat at low speed until incorporated, then add rest of powdered sugar and 2-3 tablespoons of whipping cream. Increase the speed to high and beat until smooth and creamy.
Peel off the parchment paper and invert one cake layer onto a plate. Spread with a slightly rounded cup of the frosting. Top with the second cake layer, right side up. Spread the top and sides with the remaining frosting and refrigerate the cake until chilled, about 1 hour.
Slice and serve.