Distributed Gradient Descent for Functional Learning