Preheat oven to 350°F. Generously grease two or three 9-inch cake pans, and line the bottoms with a round of parchment.
In a large bowl, combine flour, baking soda, pumpkin pie spice, cinnamon, and salt.
With a hand mixer or stand mixer, beat buttermilk, eggs, pumpkin, sugars, oil, vanilla, pineapple, and carrots until well combined. Slowly add flour mixture, beating until the flour is fully incorporated in the wet ingredients. Divide the batter evenly among the prepared pans (see note). Tap the pans on the countertop a few times to remove air bubbles.
If using two cake pans, bake for approximately 35 minutes. If using three cake pans, bake for 25-28 minutes. The cake is done when a toothpick inserted into the center comes out clean. Transfer the pans to a wire rack to cool completely.
Beat cream cheese, butter, powdered sugar, and vanilla extract for several minutes, until smooth and creamy. Add milk, 1 teaspoon at a time, until the frosting reaches your desired consistency.
Using a butter knife or offset spatula, frost the cooled cake. Press chopped walnuts onto the sides of the cake. Transfer to the refrigerator for several hours before serving.
