many global fct in cuda : can I write for example 2 global functions whose treat different operations,  in the same source code !!! 
....

    __global__ void Ker1(mpz_t *d,mpz_t *c,mpz_t e,mpz_t n )
    {
    	int i=blockIdx.x*blockDim.x + threadIdx.x;
    	
    	mpz_powm (gmp_cipher, gmp_actuel, e, n);
    
    }
    
    __global__ void Ker2(mpz_t *d,mpz_t *c,mpz_t d, mpz_t n)
    {
    	int i=blockIdx.x*blockDim.x + threadIdx.x;
    	mpz_powm(c[i], d[i],d, n);
    	
    }
    
    
    int main(){
    ....
    cudaMemcpy(decode_device,decode_buffer,memSize,cudaMemcpyHostToDevice);
        	ker1<<<dimGrid , dimBlock >>>( d_device,c_device,e,n );
    
        	ker2<<<dimGrid , dimBlock>>>(c_device,d_device,d,n);
        cudaMemcpy(decode_buffer,decode_device,memSize,cudaMemcpyDeviceToHost);
    ....
    }

if not, what is the equivalent of this implementation ?

tks for help