What is difference between OFDM and GFDM?
There is a great interactive demonstration of GFDM by Xiaojie Wang and Stephan ten Brink explaining the differences between OFDM and GFDM.

To sum it up, GFDM uses generalized pulse shaping filters that can span


a subset of $N_\mathrm S$ subcarriers out of a total number $N_\mathrm{S,tot}$ of subcarriers and
a set of $N_\mathrm Y$ symbols


OFDM is a special case of GFDM where $N_\mathrm Y = 1$, $N_S = N_\mathrm{S,tot}$, and the pulse shaping filter is rectangular in frequency domain. This can be implemented using an IFFT at the transmitter and an FFT at the receiver.

The implementation of GFDM is generally not that simple. I could think of an implementation using $N_\mathrm{S,tot}/N_\mathrm S$ IFFTs of length $N_\mathrm{S,tot}$ where at every IFFT just a subset of $N_\mathrm S$ inputs is used and the others are zero padded to realize the frequency allocation of one subset of subcarriers. Each IFFT output would be followd by a specific pulse shaping filter spanning $N_\mathrm Y$ symbols. Finally, all filter outputs would be added up and converted to an analog signal using an digital-to-analog converter (DAC).

The purpose of GFDM is to achieve, amongst others:


lower out-of-band radiation (better spectral efficiency)
higher robustness against carrier frequency offset (CFO)
higher robustness against sampling time offset


when compared to OFDM.

GFDM is also motivated by the fact that in Long-term evolution (LTE) mobile communications, users are allocated so-called physical ressource blocks (PRB). PRBs consist of a set of adjacent subcarriers and symbols.