comparison src/share/vm/graal/graalCompilerToGPU.cpp @ 12653:1a7e7011a341

* PTX kernel argument buffer now has naturally aligned arguments as required by PTX JIT compiler. * Change dynamic loading of CUDA driver API functions to load 32-bit or 64-bit versions of depending on the the host architecture. * Add ability to generate PTX kernels to be launched both on 32-bit and 64-bit hosts. * Use Unified Virtual Memory APIs to perform array argument marshalling. * PTX array storage test runs on the device and returns correct results. * More integer test failures on GPU fixed.
author S.Bharadwaj Yadavalli <bharadwaj.yadavalli@oracle.com>
date Fri, 01 Nov 2013 18:34:03 -0400
parents 4dba97fb1a6f
children f1a55428a8d7
comparison
equal deleted inserted replaced
12652:0dd597c6c9c7 12653:1a7e7011a341
97 } else { 97 } else {
98 oop o = java_lang_boxing_object::create(ptxka.get_ret_type(), (jvalue *) result.get_value_addr(), CHECK_NULL); 98 oop o = java_lang_boxing_object::create(ptxka.get_ret_type(), (jvalue *) result.get_value_addr(), CHECK_NULL);
99 if (TraceGPUInteraction) { 99 if (TraceGPUInteraction) {
100 switch (ptxka.get_ret_type()) { 100 switch (ptxka.get_ret_type()) {
101 case T_INT: 101 case T_INT:
102 tty->print_cr("GPU execution returned %d", result.get_jint()); 102 tty->print_cr("GPU execution returned (int) %d", result.get_jint());
103 break;
104 case T_LONG:
105 tty->print_cr("GPU execution returned (long) %ld", result.get_jlong());
103 break; 106 break;
104 case T_FLOAT: 107 case T_FLOAT:
105 tty->print_cr("GPU execution returned %f", result.get_jfloat()); 108 tty->print_cr("GPU execution returned (float) %f", result.get_jfloat());
106 break; 109 break;
107 case T_DOUBLE: 110 case T_DOUBLE:
108 tty->print_cr("GPU execution returned %f", result.get_jdouble()); 111 tty->print_cr("GPU execution returned (double) %f", result.get_jdouble());
109 break; 112 break;
110 default: 113 default:
111 tty->print_cr("GPU returned unhandled"); 114 tty->print_cr("**** Value returned by GPU not yet handled");
112 break; 115 break;
113 } 116 }
114 } 117 }
115 return JNIHandles::make_local(o); 118 return JNIHandles::make_local(o);
116 } 119 }