29, జులై 2026, బుధవారం
KL UNIV FACING HEADWINDS .....4 months back i stated this …today that is revealed ………………………METAPHORICALLY, ANY FORCES Or CHALLENGES THAT MAKE PROGRESS, GROWTH, Or SUCCESS MORE DIFFICULT
today that is revealed .....................................Mr ram.a.dayinaboyina N. R.I ,
Dear Faculty Members,
Greetings,
As of today, we have secured 176 placements out of the 820 students registered for CRT, indicating a clear need to significantly improve our placement conversions.
To improve these numbers, I request that everyone focus fully on the rigorous, high-quality implementation of student capstone projects.
Strong, industry-relevant projects are the most effective way for students to demonstrate their practical skills and problem-solving abilities to recruiters.
By ensuring exceptional standards in these projects, we will directly empower our students to secure better placement opportunities and higher salary packages.
Thank you
26, జులై 2026, ఆదివారం
24, జులై 2026, శుక్రవారం
KPIT | CUTTING EDGE AUTOMOTIVE SOFTWARE, BEST PLACE TO GROW..........................................................Peer only 2 companies in this category
today KPIT, TATA ELXI is the peer
...............................................KPIT offers Multicore Architecture, Application
Software, and CDDs for the motor controller and End-to-End
Verification and Validation, Test Automation Strategy ..
21, జులై 2026, మంగళవారం
20, జులై 2026, సోమవారం
…………………………LIKE U, FROM EACH FAMILY ONE PERSON HAD DECIDED TO KILL ME, A SEPARATE STATE WOULD HAVE BEEN FORMED....................................................................................................today kpit 606 , infosys tgt 1110 for both events are there......................
17, జులై 2026, శుక్రవారం
16, జులై 2026, గురువారం
AN INVALID CONTRACT LACKS THE LEGAL FOUNDATIONREQUIRED FOR ENFORCEABILITY. ......................prof ram.a.dayinaboyina
·
IF
ESSENTIAL ELEMENTS LIKE OFFER, ACCEPTANCE, CONSIDERATION, CAPACITY, OR LEGALITY
ARE MISSING, THE AGREEMENT CANNOT BE UPHELD.
·
VOID
AND VOIDABLE CONTRACTS DIFFER IN HOW THEY CAN BE ENFORCED ORCANCELED.
·
VOID
CONTRACTS ARE UNENFORCEABLE FROM THE START, WHILE VOIDABLE CONTRACTS REMAIN
VALID UNLESS ONE PARTY CHOOSES TO CANCEL THEM.
·
COMMON
ISSUES LIKE ILLEGALITY, MISREPRESENTATION, OR LACK OF CAPACITY CAN INVALIDATE
CONTRACTS.
·
FRAUD,
COERCION, VAGUE TERMS, OR UNFAIR CONDITIONS OFTEN LEAD TO CONTRACTS BEING
CHALLENGED OR VOIDED.
·
INVALID
CONTRACTS CREATE OPERATIONAL, FINANCIAL, AND COMPLIANCE RISKS.
·
THEY
CAN RESULT IN DISPUTES, LOST REVENUE, AND LACK OF LEGAL RECOURSE WHEN
OBLIGATIONS ARE NOT MET.
·
RESOLVING
AN INVALID CONTRACT REQUIRES STRUCTURED ACTION.
·
REVIEWING
TERMS, GATHERING EVIDENCE, SEEKING LEGAL ADVICE, AND PURSUING RESCISSION OR
RENEGOTIATION ARE KEY STEPS.
·
STRONG
CONTRACT GOVERNANCE HELPS PREVENT INVALID AGREEMENTS.
·
CLEAR
DRAFTING, VALIDATED CONSENT, AND LIFECYCLE MANAGEMENT ENSURE CONTRACTS ARE
ENFORCEABLE FROM THE START.
15, జులై 2026, బుధవారం
14, జులై 2026, మంగళవారం
13, జులై 2026, సోమవారం
(OFFLOADING DATA ON GPU) logic ...........................CODE SNIPPET by........ Professor Ram.a.Dayinaboyina@ OFFICIAL RECORDS
// Device arrays
float *d_a, *d_b, *d_c;
// Allocate memory on the device (GPU)
cudaMalloc((void**)&d_a, N * sizeof(float));
cudaMalloc((void**)&d_b, N * sizeof(float));
cudaMalloc((void**)&d_c, N * sizeof(float));
// Copy host arrays to device (Offloading data on GPU)
cudaMemcpy(d_a, h_a, N * sizeof(float), cudaMemcpyHostToDevice);
cudaMemcpy(d_b, h_b, N * sizeof(float), cudaMemcpyHostToDevice);
CUDA_LOG_FILE.........................................
CUDA_LOG_FILE
Another good way to identify CUDA errors is with the CUDA_LOG_FILE environment variable. When this environment variable is set, the CUDA driver will write error messages encountered out to a file whose path is specified in the environment variable. For example, take the following incorrect CUDA code, which attempts to launch a thread block which is larger than the maximum supported by any architecture.
__global__ void k()
{ }
int main()
{
k<<<8192, 4096>>>(); // Invalid block size
CUDA_CHECK(cudaGetLastError());
return 0;
}
Building and running this, the check after the kernel launch detects and reports the error using the macros illustrated in Section 2.1.7.
$ nvcc errorLogIllustration.cu -o errlog
$ ./errlog
CUDA Runtime Error: /home/cuda/intro-cpp/errorLogIllustration.cu:24:1 = invalid argument
However, when the application is run with CUDA_LOG_FILE set to a text file, that file contains a bit more information about the error.
$ env CUDA_LOG_FILE=cudaLog.txt ./errlog
CUDA Runtime Error: /home/cuda/intro-cpp/errorLogIllustration.cu:24:1 = invalid argument
$ cat cudaLog.txt
[12:46:23.854][137216133754880][CUDA][E] One or more of block dimensions of (4096,1,1) exceeds corresponding maximum value of (1024,1024,64)
[12:46:23.854][137216133754880][CUDA][E] Returning 1 (CUDA_ERROR_INVALID_VALUE) from cuLaunchKernel
Setting CUDA_LOG_FILE to stdout or stderr will print to standard out and standard error, respectively. Using the CUDA_LOG_FILE environment variable, it is possible to capture and identify CUDA errors, even if the application does not implement proper error checking on CUDA return values. This approach can be extremely powerful for debugging, but the environment variable alone does not allow an application to handle and recover from CUDA errors at runtime. The error log management feature of CUDA also allows a callback function to be registered with the driver which will be called whenever an error is detected. This can be used to capture and handle errors at runtime, and also to integrate CUDA error logging seamlessly into an application’s existing logging system.
Section 4.8 shows more examples of the error log management feature of CUDA. Error log management and CUDA_LOG_FILE are available with NVIDIA Driver version r570 and later.
TOMORROW MY CONCENTRATION IS ON BRIGHT COM GROUP HYD BASED DIGITAL ADVT COMPANY MNC............................
9.8 to 10.10 /- my pre....
Boiler Room year 2000..................... A gritty drama that pulls back the curtain on "pump-and-dump" . stock market ..........First, some wealthy individuals pump money into a stock; once it reaches a certain price point, they deliberately dump their holdings, causing the stock price to crash.
4 TRADES MIN 3% POSITIONAL TRADE………………..almost risk free.....
Blr photo voltaic power ltd solar power………Infosys .ai s/w , logistic , healthcare and wellness 4 companies ......................mr ram nse/bse
9, జులై 2026, గురువారం
8, జులై 2026, బుధవారం
NVIDIA'S MAIN CORPORATE HEADQUARTERS IS LOCATED AT 2788 SAN TOMAS EXPRESSWAY IN SANTA CLARA, CALIFORNIA. THE CAMPUS SERVES AS THE CENTRAL HUB FOR THE COMPANY'S GLOBAL OPERATIONS AND IS A RENOWNED LANDMARK IN SILICON VALLEY.........................
#include<cuda.h>
#include<stdio.h>
int main(void) {
void MatrixMultiplication(float *, float *, float *, int);
const int Width = 5;
float M[Width*Width], N[Width*Width], P[Width*Width];
for(int i = 0; i < (Width*Width) ; i++) {
M[i] = 5;
N[i] = 5;
P[i] = 0;
}
MatrixMultiplication(M, N, P, Width);
for(int i = 0; i < (Width*Width) ; i++) {
printf("%d \n", P[i]);
}
int quit;
scanf("%d",&quit);
return 0;
}
//Matrix multiplication kernel - thread specification
__global__ void MatrixMulKernel(float *Md, float *Nd, float *Pd, int Width) {
//2D Thread ID
int tx = threadIdx.x;
int ty = threadIdx.y;
//Pvalue stores the Pd element that is computed by the thread
float Pvalue = 0;
for(int k = 0; k < Width ; ++k) {
float Mdelement = Md[ty*Width + k];
float Ndelement = Nd[k*Width + tx];
Pvalue += (Mdelement*Ndelement);
}
Pd[ty*Width + tx] = Pvalue;
}
void MatrixMultiplication(float *M, float *N, float *P, int Width) {
int size = Width*Width*sizeof(float);
float *Md, *Nd, *Pd;
//Transfer M and N to device memory
cudaMalloc((void**)&Md, size);
cudaMemcpy(Md,M,size,cudaMemcpyHostToDevice);
cudaMalloc((void**)&Nd, size);
cudaMemcpy(Nd,N,size,cudaMemcpyHostToDevice);
//Allocate P on the device
cudaMalloc((void**)&Pd,size);
//Setup the execution configuration
dim3 dimBlock(Width,Width);
dim3 dimGrid(1,1);
//Launch the device computation threads!
MatrixMulKernel<<<dimGrid,dimBlock>>>(Md,Nd,Pd,Width);
//Transfer P from device to host
cudaMemcpy(P,Pd,size,cudaMemcpyDeviceToHost);
//Free device matrices
cudaFree(Md);
cudaFree(Nd);
cudaFree(Pd);
}
output:-
1
0
0
.............
// // Demonstration using a single 1D grid and 1D block size // /* * Example of vector addition : * Array of floats x is added to array of floats y and the * result is placed back in y * */
#include <math.h> // ceil function
#include <stdio.h> // printf #include <iostream> // alternative cout print for illustration #include <cuda.h> void initialize(float *x, float *y, int N); void verifyCorrect(float *y, int N); void getArguments(int argc, char **argv, int *blockSize); /////// // error checking macro taken from Oakridge Nat'l lab training code: // https://github.com/olcf/cuda-training-series //////// #define cudaCheckErrors(msg) \ do { \ cudaError_t __err = cudaGetLastError(); \ if (__err != cudaSuccess) { \ fprintf(stderr, "Fatal error: %s (%s at %s:%d)\n", \ msg, cudaGetErrorString(__err), \ __FILE__, __LINE__); \ fprintf(stderr, "*** FAILED - ABORTING\n"); \ exit(1); \ } \ } while (0) // Kernel function based on 1D grid of 1D blocks of threads // In this version, thread number is: // its block number in the grid (blockIdx.x) times // the threads per block plus which thread it is in that block. // // This thread id is then the index into the 1D array of floats. // This represents the simplest type of mapping: // Each thread takes care of one element of the result __global__ void vecAdd(float *x, float *y, int n) { // Get our global thread ID designed to be an array index int id = (blockIdx.x * blockDim.x) + threadIdx.x; // Make sure we do not go out of bounds; // Threads allocated could be larger than array length if (id < n) y[id] = x[id] + y[id]; } //////////////////// main int main(int argc, char **argv) { printf("Vector addition by managing memory ourselves.\n"); // Set up size of arrays for vectors int N = 32*1048576; // TODO: try changng the size of the arrays by doubling or // halving (32 becomes 64 or 16). Note how the grid size changes. printf("size (N) of 1D arrays are: %d\n\n", N); // host vectors, which are arrays of length N float *x, *y; // Size, in bytes, of each vector size_t bytes = N*sizeof(float); // 1.1 Allocate memory for each vector on host x = (float*)malloc(bytes); y = (float*)malloc(bytes); // 1.2 initialize x and y arrays on the host initialize(x, y, N); // set values in each vector // device array storage float *d_x; float *d_y; printf("allocate vectors and copy to device\n"); // 2. Allocate memory for each vector on GPU device cudaMalloc(&d_x, bytes); cudaMalloc(&d_y, bytes); cudaCheckErrors("allocate device memory"); // 3. Copy host vectors to device cudaMemcpy( d_x, x, bytes, cudaMemcpyHostToDevice); cudaMemcpy( d_y, y, bytes, cudaMemcpyHostToDevice); cudaCheckErrors("mem copy to device"); // Default number of threads in each thread block int blockSize = 256; getArguments(argc, argv, &blockSize); //update blocksize from cmd line // Number of thread blocks in grid needs to be based on array size // and block size int gridSize = (int)ceil((float)N/blockSize); printf("add vectors on device using grid with "); printf("%d blocks of %d threads each.\n", gridSize, blockSize); // 4. Execute the kernel vecAdd<<<gridSize, blockSize>>>(d_x, d_y, N); cudaCheckErrors("vecAdd kernel call"); // 5. Ensure that device is finished cudaDeviceSynchronize(); cudaCheckErrors("Failure to synchronize device"); // 6. Copy array back to host (use original y for this) // Note that essentially the device gets synchronized // before this is performed. cudaMemcpy( y, d_y, bytes, cudaMemcpyDeviceToHost); cudaCheckErrors("mem copy device to host"); // 7. Check that the computation ran correctly verifyCorrect(y, N); printf("execution complete\n"); // 8.1 Free device memory cudaFree(d_x); cudaFree(d_y); cudaCheckErrors("free cuda memory"); // 8.2 Release host memory free(x); free(y); return 0; } ///////////////////////// end main ///////////////////////////////// helper functions // To initialize or reset the arrays for each trial void initialize(float *x, float *y, int N) { // initialize x and y arrays on the host for (int i = 0; i < N; i++) { x[i] = 1.0f; y[i] = 2.0f; } } // check whether the kernel functions worked as expected void verifyCorrect(float *y, int N) { // Check for errors (all values should be 3.0f) float maxError = 0.0f; for (int i = 0; i < N; i++) maxError = fmaxf(maxError, fabs(y[i]-3.0f)); std::cout << "Max error: " << maxError << std::endl; } // simple argument gather for this simple example program void getArguments(int argc, char **argv, int *blockSize) { if (argc == 2) { *blockSize = atoi(argv[1]); } }
output:-
Vector addition by managing memory ourselves. size (N) of 1D arrays are: 33554432 allocate vectors and copy to device add vectors on device using grid with 131072 blocks of 256 threads each. Max error: 0 execution complete [exit 0 · 4966 ms]